在下拉列表选择中禁用MenuStrip自动隐藏

时间:2013-02-08 17:34:07

标签: c# .net winforms drop-down-menu menustrip

当我从Menu-strip控件的下拉列表中选择任何选项时,将触发Click事件中的Code并且下拉列表会崩溃。但我希望下拉必须保持开放。

请帮忙

如果我在单击此菜单中的项目时打开一个对话框,则打开的菜单始终保留在对话框的前面。如何发送回去?

1 个答案:

答案 0 :(得分:9)

如果Reception属于ToolStripMenuItem类型,则可以执行此操作:

Reception.DropDown.AutoClose = false;

您需要为Lab,Admin ..执行此操作。如果您希望对他们产生相同的效果。

PS:即使失去焦点,菜单也会保持打开状态。所以你需要手动/编程关闭它。

或者(我认为效率更高),处理下拉列表的结束事件,如果CloseReasonItemClicked,则取消结束。

Reception.DropDown.Closing += new ToolStripDropDownClosingEventHandler(DropDown_Closing);

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