作者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/cn.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