我有一個已添加到表單的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. 以編程方式關閉UIDocumentInteractionController OpenInMenu?
- 2. 以編程方式關閉選擇onorientationchange
- 3. 如何關閉McAfee以編程方式
- 4. 以編程方式關閉VoiceProcessingIO AGC
- 5. 如何以編程方式關閉UISearchBar?
- 6. 以編程方式關閉iOS
- 7. 以編程方式關閉無聲
- 8. 如何以編程方式關閉SearchView?
- 9. Android關閉活動以編程方式
- 10. 以編程方式關閉iOS屏幕
- 11. 以編程方式關閉iPhone?
- 12. 以編程方式關閉GPS
- 13. 以編程方式開啓/關閉GPS
- 14. 如何以編程方式關閉UISearchDisplayController?
- 15. 以無編程方式關閉UIAlertview
- 16. 以編程方式關閉設備
- 17. 如何以編程方式關閉BalloonTip?
- 18. 以編程方式關閉標籤TabHost
- 19. 以編程方式關閉街景
- 20. 如何以編程方式將內容添加到menustrip?
- 21. Matlab PARFOR循環可以以編程方式打開/關閉嗎?
- 22. 如何以編程方式關閉打開的jquery.reveal.js模式框?
- 23. 如何以編程方式關閉全屏模式NSWindow?
- 24. 以編程方式關閉ajax成功上的引導模式
- 25. 以編程方式關閉操作欄中的android:windowActionBarOverlay樣式
- 26. 以編程方式關閉插頁式廣告
- 27. VB.NET以編程方式關閉模式窗口
- 28. 在android中以編程方式關閉所選應用程序
- 29. 在webtest之前以編程方式關閉應用程序
- 30. 以編程方式關閉AIR應用程序
請不要將標籤(C#)放入標題中。將它們留在標籤中。 – 2010-05-24 14:26:30
對不起,不會再發生。 – Nilbert 2010-05-25 15:57:12