簡體   English   中英

上下文菜單的父級?

[英]context menu parent?

嗨,我在標簽(c#,winforms)上添加了上下文菜單。 我的上下文菜單有3個子項,我想在單擊任何一個上下文菜單項時顯示標簽文本。

提前致謝

ContextMenuStrip控件具有SourceControl屬性,該屬性將具有對打開它的控件的引用。 您可以使用它從控件中提取文本:

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);
        }
    }
}

如果代替ContextMenuStrip使用ContextMenu ,代碼應該是這樣的:

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);
        }
    }
}

最好的一行:

Control control = ((ContextMenuStrip)((ToolStripItem)sender).Owner).SourceControl;

獲取上下文菜單父控件名稱MessageBox.Show(contextMenuStrip1.SourceControl.Name.ToString());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM