我有一个已添加到表单的 MenuStrip,在其中的一个下拉菜单中,我有一个文本框。当我在文本框上按回车键时,我希望运行一个函数,然后关闭下拉菜单。我知道如何完成输入部分,但我不知道如何关闭 MenuStrip 下拉菜单。
问问题
7911 次
3 回答
10
调用所有者的 Hide() 方法。例如:
private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyData == Keys.Enter) {
e.SuppressKeyPress = true;
toolStripTextBox1.Owner.Hide();
}
}
于 2010-05-24T14:25:06.863 回答
3
你可以试试这个(为我工作)
for(int x = 0; x < menu.Items.Count; x++)
((System.Windows.Forms.ToolStripDropDownItem)menu.Items[x]).HideDropDown();
于 2012-04-13T14:42:15.177 回答
1
这是一个老问题,但我遇到了同样的问题并找到了解决方案,所以对于其他人来说:
无论文本框(或其他控件)的嵌套程度如何,都需要调用HideDropDown()
主菜单项的方法。
例如,假设您有一个带有File
, Edit
,的工具条Help
。在Edit
菜单上,您的文本框嵌套在某处:
EditMenuItem -> FindMenuItem -> SearchTextBoxHere
HideDropDown()
您可以在文本框的 keydown 事件上调用 Edit 菜单的方法:
EditMenuItem.HideDropDown();
于 2016-06-13T16:53:30.987 回答