繁体   English   中英

获取项目和子项目上下文菜单条上的文本

[英]Get text on items and sub-items contextmenustrip

我在 toolStripDropDownButton 中有一个上下文菜单条,其中包含以下项目和子项目:

private void addItem()
{
    toolStripDropDownButton1.DropDown = this.contextMenuStrip1;
    contextMenuStrip1.Items.Add("item A");
    contextMenuStrip1.Items.Add("item B");
    contextMenuStrip1.Items.Add("item C");
    addSubItem();
}

private void addSubItem()
{
    for (int i = 0; i < contextMenuStrip1.Items.Count; i++)
    {
        (contextMenuStrip1.Items[i] as ToolStripMenuItem).DropDownItems.Add("SubItem 1");
        (contextMenuStrip1.Items[i] as ToolStripMenuItem).DropDownItems.Add("SubItem 2");
        (contextMenuStrip1.Items[i] as ToolStripMenuItem).DropDownItems.Add("SubItem 3");
    }
}

我想问一下,如果我只是单击任何子项,我如何在项和子项上获取文本。 例如,我单击项目 C 中的 Subitem 2 ,然后输出是item C and Subitem 2

您可以为子项添加 Click 事件,并使用 OwnerItem 属性获取该子项的父菜单。

在 addSubItem() 里面

 foreach (ToolStripMenuItem item in (contextMenuStrip1.Items[i] as ToolStripMenuItem).DropDownItems)
                {
                    item.Click += Item_Click;
                }

而 Click 事件是

private void Item_Click(object sender, EventArgs e)
    {
        string parentMenuText = (sender as ToolStripMenuItem).OwnerItem.Text;
        string subItemText = (sender as ToolStripMenuItem).Text;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM