标题:快捷键不灵活问题
只看楼主
snrtjat
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山那边 海尽头
等 级:贵宾
威 望:22
帖 子:1115
专家分:7025
注 册:2013-1-21
结帖率:89.19%
已结贴  问题点数:30 回复次数:11 
快捷键不灵活问题
Private Sub form_keydown(keycode As Integer, shift As Integer)
If keycode = 17 Then '17是Ctrl键的值
   
End If
If keycode = 18 Then '18是Alt键的值
   
End If
End Sub
以上是我为command1和command2所设的快捷键,现在有个问题就是当程序打开时按"Ctrl"和"Alt"键会立即起作用,但第二次再按时就不灵活了;
发现出现这样一种现象,在光标改变位置的情况下快捷键是起作用的,如果光标一直处在同一位子,这两个快捷键就要都多按一遍才会起作用。
不知是什么问题?求指点。
搜索更多相关主题的帖子: 快捷键 
2013-06-08 18:08
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:0 
没看明白

无知
2013-06-08 19:36
snrtjat
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山那边 海尽头
等 级:贵宾
威 望:22
帖 子:1115
专家分:7025
注 册:2013-1-21
得分:0 
在command1和command2控件中都有不同的执行过程,我想通过快捷键ctrl来代替点击command1动作,快捷键Alt来代替点击command2动作
现在的问题是当程序打开时按"Ctrl"和"Alt"键会立即起作用,但第二次再按时就不灵活了;
是什么原因?

不怕错误,只怕知错不改.
2013-06-08 19:57
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
得分:0 
可以用菜单快捷键并隐藏菜单。
2013-06-08 20:27
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:5 
控件的焦点问题。

授人于鱼,不如授人于渔
早已停用QQ了
2013-06-08 21:40
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:2 
把form的keypreview属性设为true,不管焦点在窗口的哪个控件上都首先相应窗口的键事件。
2013-06-08 22:24
snrtjat
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山那边 海尽头
等 级:贵宾
威 望:22
帖 子:1115
专家分:7025
注 册:2013-1-21
得分:0 
首先在这里谢谢各位版主的解答。
我将form的keypreview属性设为true也没有起到作用?
我又重新改变光标的位子,也是没有起到作用的。
Form1.Text2.SelStart = 0
Form1.Text2.SetFocus

该如何处理,求指点……

不怕错误,只怕知错不改.
2013-06-10 09:41
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:15 
当窗体上有 控件能获得焦点,如文本框、按钮 等,那么
这个 form_keydown 事件就不会被发生。

我记得好像是这样的。

那么需要你在所有的控件的 键盘事件 中调用这个 处理 的过程,以达到不管焦点在那个控件上,都能达到响应的目的。

授人于鱼,不如授人于渔
早已停用QQ了
2013-06-10 10:50
snrtjat
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山那边 海尽头
等 级:贵宾
威 望:22
帖 子:1115
专家分:7025
注 册:2013-1-21
得分:0 
风老师,对就是你说的这种,焦点在textbox上。

需要在所有的控件的 键盘事件 中调用这个 处理 的过程,以达到不管焦点在那个控件上,都能达到响应的目的。
这一步我不知道该如何实现,请指点一下,谢谢!

不怕错误,只怕知错不改.
2013-06-10 11:04
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:8 
首先keypreview属性设为true,其次你的的调用方式是错误的,除非你的form1的commnd1的click事件是public(默认都为private)。我反复实验,非常灵活的,见附件。
快捷键示范.rar (1.84 KB)
2013-06-10 16:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-414824-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.287375 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved