以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口中如何撤销向上键、向下键操作  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41177)

--  作者:明丰
--  发布时间: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

 

 


--  作者:明丰
--  发布时间:2013/10/13 20:20:00
--  
甜老师,请问如何设置?
--  作者:有点甜
--  发布时间:2013/10/13 20:36:00
--  
 编写按钮的enter事件,或者全局的enter事件,对于button,全部定位到一个文本框去,让其不能得到焦点。

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

--  作者:明丰
--  发布时间:2013/10/13 21:45:00
--  

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

 

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

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

 

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


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

--  作者:明丰
--  发布时间: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