C# WinForm中,当单击子ToolStripMenu项时,ToolStripMenu项不会关闭

3
有没有办法让ToolStripMenuIte在单击子控件(在其DropDrowItems集合中)时不关闭?
在我的情况下,我有一些ToolStripMenuItems作为复选框。实际上,我使用它们的Check属性在某些ToolStripMenuItems中实现了单选按钮行为。但是,当我单击它们中的任何一个时,我不想菜单关闭,因为它们不是操作,只是菜单项中的选项。
这可能吗?
3个回答

4
   this.menuItem.DropDown.Closing += new ToolStripDropDownClosingEventHandler(DropDown_Closing); 

void DropDown_Closing(object sender, ToolStripDropDownClosingEventArgs e)
            {
                if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
                {
                    e.Cancel = true;
                    ((ToolStripDropDownMenu) sender).Invalidate();
                } 
            }

1

0

仅供参考:

  • 关闭事件存在于ContextMenuStripToolStripDropDown上。
  • 使用设计器进行设计时,您可以访问ContextMenuStrip(弹出菜单)和ToolStripMenuItem(子菜单)对象,但不能访问ToolStripMenuItem的ToolStripDropDown对象!
  • 这就是为什么您必须通过代码自己设置ToolStripDropDown对象的关闭事件(请参见Zabulus答案)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接