Foxtable(狐表)用户栏目专家坐堂 → 模拟键盘操作问题


  共有11379人关注过本帖树形打印复制链接

主题:模拟键盘操作问题

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
模拟键盘操作问题  发帖心情 Post By:2011/8/22 22:16:00 [显示全部帖子]

我在窗体的 KeyDown 事件中加入下面代码,但是当我按键盘的右剪头键时,确没有反应,是什么原因?

就连标签都没执行,可见第一句代码就没执行

If e.KeyCode = Keys.Right Then
e.Form.Controls("Label1").text = "前进!!"
e.Form.Controls("PictureBox1").Image = e.Form.Controls("PictureBox2").Image

End If

 

请其它朋友帮忙试试

[此贴子已经被作者于2011-8-22 22:16:39编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/8/22 22:30:00 [显示全部帖子]

以下是引用czy在2011-8-22 22:23:00的发言:

没有问题吧。

关键看你在什么控件上按右键,如果焦点在按钮上需Ctrl+右键,如果在焦点在可输写的控件中,上面的代码一定没有问题的。

焦点在窗体上,或是放在图片上都没反应


 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/8/22 22:45:00 [显示全部帖子]

以下是引用czy在2011-8-22 22:41:00的发言:

窗体本自应无焦点。

PictureBox也没有焦点。

我用鼠标做了一个左右移动的,将鼠标放在图片上就可以左右移动图片了,但是模拟键盘就不可以,不清楚为什么


 回到顶部
美女呀,离线,留言给我吧!
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/8/23 11:28:00 [显示全部帖子]

以下是引用程兴刚在2011-8-23 10:37:00的发言:

KeyDown 事件事件本身就是压下鼠标按键后执行的。

KeyPress 事件仅仅是按下某一个字符键(输入字符)的时候执行,对箭头键不起作用。

 

应该不是焦点的问题!

 

KeyDown 是针对键盘的,呵,不是对鼠标的


 回到顶部
美女呀,离线,留言给我吧!
yangming
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/8/23 12:01:00 [显示全部帖子]

以下是引用狐狸爸爸在2011-8-23 11:38:00的发言:

不会无效的,如果代码设置在某个控件的keydown事件,必须先选择这个控件,然后按键才有效。

有个控件,例如label和picture,由于不能获得输入焦点,所以这个keydown事件始终是无效的。

我是将代码设置在窗体的keydown事件中的,那如何处理呢?是否还是无效的?

[此贴子已经被作者于2011-8-23 12:02:42编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/8/23 12:41:00 [显示全部帖子]

以下是引用程兴刚在2011-8-23 12:21:00的发言:
杨版,为何不变通,不一定非得按下方向键来更换图片,可以根据鼠标在图片的位置(判断鼠标移动时,所处picture控件的.x、.y属性在图片周围显示上下左右箭头),通过点击箭头区域来更换图片即可,这种移动方式在大多数网页上浏览多个图片的应用比较常见,还显得方便、快捷(仅建议,别因此打乱您的思路!)。

鼠标移动的我已做好了,呵呵,我是想到许多小游戏中都是用键盘上的箭头来移动的,所以才想到此方法,但是还不行


 回到顶部
美女呀,离线,留言给我吧!
yangming
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/8/23 15:59:00 [显示全部帖子]

以下是引用狐狸爸爸在2011-8-23 13:04:00的发言:

可能是foxtable的问题,目前如果没有选中一个控件,是不会触发表的keydown事件的,我看看能否改进。

谢谢,在VB.net中是可以的,呵

 

我在窗口分别放入了绘图版和面板都试过了,也都不行


 回到顶部