作者hardman1110 (笨小孩)
看板C_Sharp
標題[問題] 監測特定鍵盤上特定按鍵
時間Thu Sep 29 09:14:54 2016
平台:
win 10 visual studio 2015
狀況:
有自己寫個按鍵精靈程式,主要是form1上某個按鈕按下後就創個執行序讓它在背景
來回點擊(無窮迴圈),另外一個按鈕則是停止執行序(abort)
問題:
由於功能是來回點擊所以要按下關閉按鈕不易,想在開執行序裡隨時監測使用者是否
有按下某些按鍵(ex: Esc) 但不知道怎實作,懇請各位大大給個方向
備註:
有爬過版上的文&google 我想我的需求應該不需要全域熱鍵,看過版上第12篇文章
但不知道Form1_KeyDown 要怎進入,是自己寫的嗎? 還是按了表單上某個部分就會進
入該函式
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.89.186
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1475111697.A.FC2.html
1F:→ cozilon: 1.Form1_KeyDown() 兩個方式加入此事件,1個從Form1.cs中 09/29 10:45
2F:→ cozilon: 的Form1的事件中選keydown 另一個方式是用動態加入的: 09/29 10:46
3F:→ cozilon: Form1.KeyDown+=(在=之後按下tab鍵即會產生此事件連結) 09/29 10:50
4F:→ cozilon: 2.Esc問題:應該用個flag,判斷ESC是否被觸發就OK了吧 09/29 10:52
5F:→ hardman1110: 請問第1個方式是怎選? 在cs還是cs[Design] 09/29 11:41
6F:→ hardman1110: 還有我滑鼠來回點擊時 keydown會被執行嗎? 會不會有 09/29 11:43
7F:→ hardman1110: 焦點問題 09/29 11:43
8F:→ hardman1110: 剛自己試了一下 From1_keydown 會有焦點問題xd 09/29 12:34
9F:→ hardman1110: 看來得找找有沒有辦法 在在執行序裡偵測鍵盤 09/29 12:35
10F:→ cozilon: 在Form.cs的畫布上點一下,屬性頁切到事件,產生在[Desig 09/29 13:15
11F:→ cozilon: n] 09/29 13:15
12F:→ hardman1110: 有喔 感謝大大 只是目前滑鼠在自動點擊時沒焦點無法 09/29 13:16
13F:→ cozilon: 還有,我不太懂來回點擊是指什麼樣的操作 09/29 13:16
14F:→ hardman1110: 觸發 09/29 13:16
15F:→ cozilon: 你是按了會產生新的執行緒,會不會是跨執行緒的問題? 09/29 13:19
16F:→ cozilon: 哈~抱歉,我不太會用bbs,目前只學會回文,talk要怎麼回? 09/29 13:22
17F:→ hardman1110: ctrl+r 09/29 13:25
18F:→ Litfal: Form屬性裡面有個KeyPreview,設成True就能抓到子控制項的 09/30 21:53
19F:→ Litfal: KeyDown事件了。不過還是有些鍵會抓不到(如Tab),但大多數 09/30 21:54
20F:→ Litfal: 狀況夠用了。如果連那些鍵都想抓,註冊熱鍵是比較簡單的作 09/30 21:58
21F:→ Litfal: 法,不過會讓該鍵失去原本的功能。 09/30 21:58