右键菜单不自动关闭问题
目的是制作一个 右键菜单contextMenuStrip,菜单上面有多个CheckBox的个功能子菜单,
现在想实现:用户确认完多个选项后在关闭菜单。
ps:设置AutoClose属性false后菜单都不弹出。
请高手指教指教 contextMenuStrip? AutoClose
[解决办法]
改成这样的吧, 用这个就可以了(menu.OwnerItem as ToolStripMenuItem).ShowDropDown();
private void Form1_Load(object sender, EventArgs e)
{
foreach (ToolStripMenuItem mnu in contextMenuStrip1.Items)
{
foreach(ToolStripMenuItem mnuSub in mnu.DropDownItems)
mnuSub.Click += mnu_Click;
}
contextMenuStrip1.AutoClose = false;
}
void mnu_Click(object sender, EventArgs e)
{
ToolStripMenuItem menu = sender as ToolStripMenuItem;
menu.Checked = !menu.Checked;
int checkedCount = 0;
foreach (ToolStripMenuItem mnu in (menu.OwnerItem as ToolStripMenuItem).DropDownItems)
{
if (mnu.Checked)
checkedCount++;
}
if (checkedCount < 5) //这里举例说CheckBox小于5个,不关闭contextMenuStrip1,你按你实际需要的数量修改
(menu.OwnerItem as ToolStripMenuItem).ShowDropDown();
}