Foxtable(狐表)用户栏目专家坐堂 → 窗口中如何撤销向上键、向下键操作


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

主题:窗口中如何撤销向上键、向下键操作

帅哥哟,离线,有人找我吗?
明丰
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
窗口中如何撤销向上键、向下键操作  发帖心情 Post By:2013/10/13 8:25:00 [只看该作者]

在窗口中按向上键、向下键可以选择不同按钮。

e.Cancel = True 取消默认动作。

 

如果之前选择的控件是按钮类型,下面代码对于“向上键、向下键”无效。

请问如何设置?

If e.KeyCode = Keys.Up OrElse e.KeyCode = Keys.Down Then
    e.Cancel = True
End If

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
明丰
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2013/10/13 20:20:00 [只看该作者]

甜老师,请问如何设置?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/13 20:36:00 [只看该作者]

 编写按钮的enter事件,或者全局的enter事件,对于button,全部定位到一个文本框去,让其不能得到焦点。

 e.Form.Controls("TextBox2").Select()

 回到顶部
帅哥哟,离线,有人找我吗?
明丰
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2013/10/13 21:45:00 [只看该作者]

如果窗口中有多个按钮,其中有按钮“上一行”、“下一行”,希望按键“向上键”、“向下键”与其对应。

 

如按下“向下键”时,模拟单击了“下一行”按钮,焦点在“下一行”按钮上。

如果按照上面代码设置,将失去按钮焦点,而为了达到按钮焦点效果,还要设置按钮背景色,太繁锁。

 

请问有更好的解决方法吗?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/13 22:00:00 [只看该作者]

 那就没办法了,我能想到的简单方法,最多是上面的方法。待后者。
[此贴子已经被作者于2013-10-13 22:00:08编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
明丰
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2013/10/14 8:17:00 [只看该作者]

那只能用组合键了。

If e.Control = True AndAlso e.KeyCode = Keys.Up Then
    e.Form.controls("上一行").PerformClick()
    e.Form.controls("上一行").Select()
ElseIf e.Control = True AndAlso e.KeyCode = Keys.Down Then
    e.Form.controls("下一行").PerformClick()
    e.Form.controls("下一行").Select()
End If


 回到顶部