我正在处理一个C# WinForm项目,其中主要的工具栏菜单在用户单击其项后不能隐藏,该如何解决?
我正在处理一个C# WinForm项目,其中主要的工具栏菜单在用户单击其项后不能隐藏,该如何解决?
我在MSDN论坛 上找到了更好的答案。下拉菜单在点击时不会关闭,但在其他情况下会关闭:
DropDown.Closing += new ToolStripDropDownClosingEventHandler(DropDown_Closing);
...
private void DropDown_Closing(object sender, ToolStripDropDownClosingEventArgs e)
{
if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
{
e.Cancel = true;
}
}
将父菜单项的AutoClose属性设置为false,以防止菜单条关闭。
示例:
ToolStripMenuItem file = new ToolStripMenuItem("File");
file.DropDown.AutoClose = false;
file.DropDownItems.Add("New");
file.DropDownItems.Add("Open");
file.DropDownItems.Add("Exit");
MenuStrip ms = new MenuStrip();
ms.Items.Add(file);
this.Controls.Add(ms);
file.DropDown.Close();
ToolStripMenuItem
是添加到ToolStrip
还是ContextMenuStrip
中?如果是后者,那么你要求的很容易实现。 - Sriram Sakthivel