Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#WinForm中单击子ToolStripMenuItem时ToolStripMenuItem未关闭_C#_Winforms - Fatal编程技术网

在C#WinForm中单击子ToolStripMenuItem时ToolStripMenuItem未关闭

在C#WinForm中单击子ToolStripMenuItem时ToolStripMenuItem未关闭,c#,winforms,C#,Winforms,当我单击子控件(在其DropDrowItems集合中)时,是否有方法使ToolStripMenuItem不关闭 在我的例子中,我有一些ToolStripMenuItems用作复选框。实际上,我在一些ToolStripMenuItems中使用它们的Check属性实现了一种无线电行为。但我不希望在单击其中任何一个时菜单关闭,因为它们不是一个动作,它们只代表菜单项中的选项 有可能吗?查找酒店。仅供参考: this.menuItem.DropDown.Closing += new ToolStri

当我单击子控件(在其DropDrowItems集合中)时,是否有方法使ToolStripMenuItem不关闭

在我的例子中,我有一些ToolStripMenuItems用作复选框。实际上,我在一些ToolStripMenuItems中使用它们的Check属性实现了一种无线电行为。但我不希望在单击其中任何一个时菜单关闭,因为它们不是一个动作,它们只代表菜单项中的选项


有可能吗?

查找酒店。

仅供参考:

   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();
                } 
            }
  • 关闭事件存在于ContextMenuStrip工具条下拉列表中
  • 在使用设计器进行设计时,您可以访问ContextMenuStrip(弹出菜单)和ToolStripMenuItem(子菜单)对象,但不能访问ToolStripMenuItem的ToolStripDropDown对象
  • 这就是为什么您必须通过代码自己设置ToolStripDropDown对象的关闭事件(请参见Zabulus答案)