Не закрывайте ToolStripMenu при нажатии в winforms
Я работаю над проектом aC# winform, который не должен скрывать главное меню инструментов после того, как пользователь нажимает на его элемент, как я могу это сделать?
1 ответ
Решение
Установите свойство AutoClose родительского элемента меню, чтобы полоса меню не закрывалась.
Показывать:
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();
Я нашел лучший ответ на форуме MSDN. Раскрывающийся список не закрывается при нажатии, но закрывается в других случаях:
DropDown.Closing += new ToolStripDropDownClosingEventHandler(DropDown_Closing);
...
private void DropDown_Closing(object sender, ToolStripDropDownClosingEventArgs e)
{
if (e.CloseReason == ToolStripDropDownCloseReason.ItemClicked)
{
e.Cancel = true;
}
}