我有一個簡單的模式形式,我想要關閉時Esc被按下。處理form_KeyDown
事件很簡單。問題在於表單上的控件。當表單第一次啓動其中一個按鈕時獲得焦點並按Esc當然不會做任何事情。禁用每個按鈕的TabStop
可以防止這種情況,但當使用任何按鈕時,Esc將停止工作。有沒有辦法做到這一點,然後處理表格上的每個控件的KeyDown
?捕捉按鍵的形式,但不是控件
3
A
回答
4
您需要將窗體上的KeyPreview
屬性設置爲true
,並處理表單previewkeydown
事件。
8
你的表單是否有「取消」按鈕?
如果是這樣,則將該表格的CancelButton
屬性設置爲該按鈕。
這將關閉窗體,當按下Esc時。
+0
+1這是最簡單的。 – 2009-08-26 15:22:20
0
我想在Compact Framework應用程序中做更多或者更少的事情(我想讓表單捕獲F1..Fn鍵並以全局方式處理它們,同時讓控件處理光標& numeric鍵)。 上述Simon P Stevens的解決方案非常適合桌面.NET,但不支持PreviewKeyDown。所以我的解決辦法是:
加載表單時,使用
For Each ctl As Control In Controls
和AddHandler ctl.KeyDown, AddressOf OnControlKeyDown
創建
OnControlKeyDown
登記每個控件的KeyDown處理程序,爲FN按鍵也做特殊處理。所有其他擊鍵都保持原樣。
這似乎是實現這個爲Compact Framework的一個相當簡單的方法。
相關問題
- 1. 捕捉按鍵C++
- 2. 在C#中捕捉按鍵#
- 3. 如何捕捉按鍵?
- 4. 編輯控件捕捉回車鍵
- 5. NSMenu打開時捕捉按鍵事件
- 6. WPF捕捉控件
- 7. 在不按Enter鍵的情況下捕捉EOF按鍵C
- 8. 捕捉OPTGROUP標籤形式
- 9. 捕捉按鈕點擊用戶控件
- 10. 捕捉TAB鍵按下鍵盤
- 11. 如何捕捉外部鍵盤按鍵
- 12. 在MATLAB GUI中捕捉鍵盤按鍵
- 13. @捕捉不捕捉
- 14. 捕獲iPhone鍵盤按下按鈕事件的形式
- 15. 捕捉HID鍵盤事件
- 16. 的Android捕捉鍵
- 17. 無法捕捉按Ctrl + Alt +箭頭鍵事件的jQuery熱鍵
- 18. Android模擬器可以捕捉PC鍵盤的按鍵事件
- 19. 本機控件轉換爲WPF不捕捉製表符鍵
- 20. 彈出控件VerticalAlignment不「捕捉」
- 21. 線程運行時按下按鍵 - 如何捕捉按鍵?
- 22. 什麼是最好的方式來捕捉所有者形式的按鍵組合?
- 23. 使用RxJS捕捉按鍵組使用
- 24. 在ASP.NET文本框中捕捉按鍵
- 25. C#控制檯應用程序按鍵捕捉
- 26. 當軟鍵盤以編程方式顯示時如何捕捉按鍵事件?
- 27. 如何查看修飾鍵是否被按下而不捕捉keydown事件?
- 28. 在extjs4如何在控制器中捕捉textarea的按鍵事件
- 29. Term :: TermKey:捕捉mouseevents和按鍵的正確方法是什麼?
- 30. C# - 形式組合框捕捉關閉
這就是它,謝謝。 – dstr 2009-06-23 18:01:01