Hallo Ich habe ein Kontextmenü auf dem Etikett (C#, winforms) hinzugefügt. Mein Kontextmenü mit 3 untergeordneten Elementen und ich möchte Etikettentext anzeigen, wenn ich auf eines der Kontextmenüelemente klicke.Kontextmenü Eltern?
Dank im Voraus
Hallo Ich habe ein Kontextmenü auf dem Etikett (C#, winforms) hinzugefügt. Mein Kontextmenü mit 3 untergeordneten Elementen und ich möchte Etikettentext anzeigen, wenn ich auf eines der Kontextmenüelemente klicke.Kontextmenü Eltern?
Dank im Voraus
Das ContextMenuStrip
Steuerelement verfügt über eine SourceControl
Eigenschaft, die einen Verweis auf die Steuerung hat, die sie geöffnet. Damit kann man den Text von der Steuerung zu extrahieren:
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);
}
}
}
Wenn Sie statt eines ContextMenuStrip
eine ContextMenu
verwenden, sollte der Code wie folgt aussehen:
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);
}
}
}
Get Kontextmenü Eltern Control Name MessageBox.Show (contextMenuStrip1.SourceControl.Name.ToString());
Wo soll der Text und wo von? Vom Etikett oder auf dem Etikett? –
Haben Sie überlegt, ein Kombinationsfeld zu verwenden? Das könnte für Ihre Benutzer intuitiver sein. –
Ich möchte den Beschriftungstext anzeigen (Beschriftung ist nichts anderes als für das Kontextmenü) – Nagu