回答
如果您使用的是WinForms
,請使用KeyDown
或KeyUp
事件。
例如,剛落下面的代碼到你的窗體類重寫OnKeyUp
事件和關閉每當用戶按下q鍵:
protected override void OnKeyUp(KeyEventArgs e)
{
if (e.KeyCode == Keys.Q)
{
this.Close();
}
base.OnKeyUp(e);
}
我必須必須處理事件?我打算做的唯一事情是當用戶按下某個鍵時退出。 – olive 2011-02-08 11:23:01
@user:是的,你必須處理事件。 *你在WinForms中做的所有事情都會處理事件。 Windows是一個事件驅動的環境。不知道爲什麼你首先要避免發生事件,但執行此操作的代碼並不複雜。 – 2011-02-08 11:25:08
你在做什麼樣的應用? 窗體? WPF?安慰? 在前兩個鍵盤按鍵事件中,您可以使用Console.Read或ReadLine方法並測試返回值
您可能想在這裏使用KeyPreview和OnKeyPreview,具體取決於控件你在表格上使用嗎?有時,KeyDown和KeyUp將在你有機會自己處理它們之前處理。
順便說一句,對於windows應用程序,使用沒有任何修飾符的'q'鍵退出並不是一個好主意,因爲你可能在表單上有接受輸入的文本框,並且如果有人寫'quebec '進入文本框。
如果您不想使用事件,則覆蓋相同的虛擬方法併爲它們提供實現,以實現您想要的效果。但是,再次,這裏首選的方法是事件。
- 1. 應用程序不接受按鍵
- 2. 如何攔截WinForms應用程序中的捕獲TAB鍵?
- 3. winforms應用程序如何接受用戶輸入而沒有焦點?
- 4. 如何在winforms應用程序中點擊並拖動
- 5. 檢測CTRL +左鍵點擊在WinForms應用程序
- 6. 擊鍵在Winforms應用程序導致窗口意外關閉
- 7. 鍵盤在一個WinForms應用程序
- 8. 如何在MVC4中接收/接受xml文件應用程序
- 9. SpriteKit OS X應用程序不接受鍵盤輸入,除非首先點擊
- 10. 如何找出WinForms應用程序已被鼠標點擊
- 11. 從winforms應用程序連接到MVC應用程序
- 12. 如何通過Java應用程序接受Java Web應用程序的輸入?
- 13. 如何連接WinForms應用程序上的EventHandler?
- 14. 如何重構WinForms應用程序?
- 15. 如何測試winforms應用程序
- 16. 如何重命名winforms應用程序?
- 17. WinForms禁用雙擊並接受所有鼠標點擊?
- 18. 接受ios應用程序的付款?
- 19. C#Winforms應用程序打開第二個Winforms應用程序
- 20. 如何使用鍵盤快捷鍵組合運行WinForms應用程序?
- 21. 如何接受C#應用程序內的信用卡付款?
- 22. WinForms應用程序UI受Windows UI設置的影響
- 23. 接受鼠標點擊而不激活應用程序?
- 24. 無法取消WinForms應用程序中的鍵
- 25. 使用WinForms應用程序中的UrlDecode
- 26. 如何從直接SQL保護WinForms應用程序
- 27. 如何在C#WPF應用程序中模擬擊鍵?
- 28. 如何在Silverlight應用程序中捕獲擊鍵?
- 29. 應用程序崩潰 - 被應用程序商店接受
- 30. 如何從.NET 2.0程序集中掛接winforms或WPF中的熱鍵?
WinForms,WPF,ASP.NET,....? – 2011-02-08 10:59:03
可能的重複[在winforms中實現鍵盤快捷方式?](http://stackoverflow.com/questions/400113/best-way-to-implement-keyboard-shortcuts-in-winforms) – 2011-02-08 14:01:17