获取项目和子项目的文本 contextmenustrip
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 中的子项目 2,则输出为 item C and Subitem 2
.
您可以为子项添加 Click 事件并使用 OwnerItem 属性 获取该子项的父菜单。
在 addSubItem() 里面
foreach (ToolStripMenuItem item in (contextMenuStrip1.Items[i] as ToolStripMenuItem).DropDownItems)
{
item.Click += Item_Click;
}
点击事件是
private void Item_Click(object sender, EventArgs e)
{
string parentMenuText = (sender as ToolStripMenuItem).OwnerItem.Text;
string subItemText = (sender as ToolStripMenuItem).Text;
}
我在 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 中的子项目 2,则输出为 item C and Subitem 2
.
您可以为子项添加 Click 事件并使用 OwnerItem 属性 获取该子项的父菜单。
在 addSubItem() 里面
foreach (ToolStripMenuItem item in (contextMenuStrip1.Items[i] as ToolStripMenuItem).DropDownItems)
{
item.Click += Item_Click;
}
点击事件是
private void Item_Click(object sender, EventArgs e)
{
string parentMenuText = (sender as ToolStripMenuItem).OwnerItem.Text;
string subItemText = (sender as ToolStripMenuItem).Text;
}