我有一个已添加到表单的MenuStrip,并且在其中的一个下拉菜单中,我有一个文本框。当我在文本框中输入时,我想要一个函数运行,然后关闭下拉菜单。我知道如何完成输入部分,但我不知道如何关闭MenuStrip下拉菜单。有人知道怎么做这个吗?以编程方式关闭MenuStrip
回答
调用所有者的Hide()方法。例如:
private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e) {
if (e.KeyData == Keys.Enter) {
e.SuppressKeyPress = true;
toolStripTextBox1.Owner.Hide();
}
}
如果它是另一个菜单的子菜单呢?我如何走上子菜单链到达菜单的根源?我尝试了Owner.Owner,但这是未定义的,并且Owner.Parent导致“父未设置”的例外。 – Nilbert 2010-05-25 16:21:57
只需调用您要隐藏的特定菜单项的HideDropDown()方法即可。 – 2010-05-25 16:54:14
你可以试试这个(工作对我来说)
for(int x = 0; x < menu.Items.Count; x++)
((System.Windows.Forms.ToolStripDropDownItem)menu.Items[x]).HideDropDown();
这是一个老问题,但我遇到同样的问题,并想出解决方案,所以对于其他人:
无论您的文本框(或其他控件)如何嵌套,您都需要调用主菜单项的HideDropDown()方法。
例如,假设您有一个带有文件,编辑,帮助的工具条。在编辑菜单,你有你的文本框嵌套的地方:
EditMenuItem - > FindMenuItem - > SearchTextBoxHere
你会调用编辑菜单中的HideDropDown()方法,在你的文本框的keydown事件:
EditMenuItem .HideDropDown();
- 1. 以编程方式关闭iOS屏幕
- 2. 以编程方式关闭iOS
- 3. Android关闭活动以编程方式
- 4. 以无编程方式关闭UIAlertview
- 5. 以编程方式开启/关闭GPS
- 6. 以编程方式关闭UIDocumentInteractionController OpenInMenu?
- 7. 以编程方式关闭无声
- 8. 如何以编程方式关闭UISearchDisplayController?
- 9. 如何以编程方式关闭BalloonTip?
- 10. 以编程方式关闭VoiceProcessingIO AGC
- 11. 如何关闭McAfee以编程方式
- 12. 以编程方式关闭iPhone?
- 13. 以编程方式关闭选择onorientationchange
- 14. 如何以编程方式将内容添加到menustrip?
- 15. Matlab PARFOR循环可以以编程方式打开/关闭吗?
- 16. 如何以编程方式关闭打开的jquery.reveal.js模式框?
- 17. 以编程方式关闭操作栏中的android:windowActionBarOverlay样式
- 18. VB.NET以编程方式关闭模式窗口
- 19. 如何以编程方式关闭全屏模式NSWindow?
- 20. 可以通过编程方式关闭iphone应用程序
- 21. 以编程方式关闭Mac应用程序
- 22. 在webtest之前以编程方式关闭应用程序
- 23. 以编程方式关闭WP7应用程序?
- 24. 如何以编程方式关闭反应js应用程序
- 25. 以编程方式关闭AIR应用程序
- 26. 如何以编程方式关闭应用程序?
- 27. 以编程方式暂停/关闭应用程序
- 28. 强制以编程方式关闭应用程序
- 29. 如何以编程方式关闭iPad应用程序?
- 30. 以编程方式关闭应用程序Flutter
请不要将标签(C#)放入标题中。将它们留在标签中。 – 2010-05-24 14:26:30
对不起,不会再发生。 – Nilbert 2010-05-25 15:57:12