2009-08-26 23 views
10

Merhaba Etiket (C#, winforms) üzerine bir içerik menüsü ekledim. bağlam menüsüm 3 alt öğe içeriyor ve içerik menüsü öğelerinden herhangi birine tıkladığımda etiket metni görüntülemek istiyorum. açtı denetimi için bir başvuru olacaktır peşiniçerik menüsü üsteki?

+0

Metin ve nereden nereye istiyorsunuz? Etiketten veya etiketten mi? –

+0

Birleşik giriş kutusu kullanmayı düşündünüz mü? Bu, kullanıcılarınızın –

+0

değerini anlamak için daha sezgisel olabilir. Etiket metnini görüntülemek istiyorum (etiket, içerik menüsü için paret dışında bir şey değildir). – Nagu

cevap

18

ContextMenuStrip kontrolü SourceControl özelliğine sahiptir içinde

sayesinde. Kontrolden metin ayıklamak için kullanabilirsiniz: yerine ContextMenuStrip ait bir ContextMenu kullanırsanız

private void MenuStripItem_Click(object sender, EventArgs e) 
{ 
    ToolStripItem item = (sender as ToolStripItem); 
    if (item != null) 
    { 
     ContextMenuStrip owner = item.Owner as ContextMenuStrip; 
     if (owner != null) 
     { 
      MessageBox.Show(owner.SourceControl.Text); 
     } 
    } 
} 

, kod aşağıdaki gibi görünmelidir:

private void menuItem1_Click(object sender, EventArgs e) 
{ 
    MenuItem item = (sender as MenuItem); 
    if (item != null) 
    { 
     ContextMenu owner = item.Parent as ContextMenu; 
     if (owner != null) 
     { 
      MessageBox.Show(owner.SourceControl.Text); 
     } 
    } 
} 
+0

Etiket metnini görüntülemek istiyorum (etiket, içerik menüsü için paret dışında başka bir şey değildir) – Nagu

+0

hey Burada MenuItem'i alıyoruz ToolStripItem – Nagu

+0

@Nagu: 'ContextMenu için kod örneği eklendi '. –

0

alın Bağlam Menüsü Veli Kontrol Adı MessageBox.Show (contextMenuStrip1.SourceControl.Name.ToString());

İlgili konular