[英]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.