2012-04-21 20 views
6

Birkaç denetime eklediğim bir ContextMenuStrip var. {Ekle, Kaldır, Düzenle} öğelerine sahiptir. Bir kullanıcı, liste kutusu denetimlerimden birini (bu bağlam menüsünü açar) tıklatıp 'Ekle'yi seçtiğinde, aktarılan ToolStripMenuItem referansından liste kutusu denetimini nasıl alabilirim?ToolStripMenuItem üst denetimini bulun

+0

liste kutusu lb = ((liste) sender.Parent); veya belki de ListBox lb = ((ListBox) sender.Parent.Parent); –

+0

Spy ++'yı denediniz mi? –

cevap

14

Mark, bu bağlantılar:

((ContextMenuStrip)(((ToolStripMenuItem)sender).Owner)).SourceControl 
+1

ListBox'a yazarsanız, bu işe yarıyor! – MarkP

+0

Klavye kısayollarını kullanırken dikkatli olun, SourceControl daha sonra boş olabilir. – John

1

Liste kutusunu bulana kadar ebeveyn zincirine çıkabileceğinizi tahmin ediyorum.

Bunu düz bir şekilde araç şeridine ulaşmak için OwnerItem özelliğini kullanarak hızlandırabilirsiniz.

Öğenin etiketini her zaman liste kutusuna ayarlayabilir ve ardından istediğiniz gibi kullanabilirsiniz.

İlgili konular