Foxtable(狐表)用户栏目专家坐堂 → 方向键切换所在控件光标


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

主题:方向键切换所在控件光标

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


加好友 发短信
等级:幼狐 帖子:149 积分:1050 威望:0 精华:0 注册:2016/6/22 20:46:00
方向键切换所在控件光标  发帖心情 Post By:2018/2/5 13:37:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180205133456.png
图片点击可在新窗口打开查看



5列
10行

方向键切换所在控件光标   上下左右
[此贴子已经被作者于2018/2/5 14:09:37编辑过]

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


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

1、你文本框的命名必须规则,比如 txt_1_1  txt_2_3  如 txt_横向位置_纵向位置

 

2、编写keydown事件,写代码,如

 

If e.keycode = keys.down Then

    dim x = e.sender.name.split("_")(1)

    dim y = e.sender.name.split("_")(2)

    e.form.controls("txt_" & x & "_" & y+1).select  '横坐标不变,纵坐标加1

    e.cancel = true

End If

[此贴子已经被作者于2018/2/5 14:33:42编辑过]

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


加好友 发短信
等级:幼狐 帖子:149 积分:1050 威望:0 精华:0 注册:2016/6/22 20:46:00
  发帖心情 Post By:2018/2/5 15:13:00 [只看该作者]

我命名是h1,h2,h3 一直到h50 程序很多了 不好重新命名  左右是错的

If Typeof e.Sender Is  WinForm.TextBox Then
    
    Dim Index As Integer = CInt(e.Sender.Name.Replace("h",""))
    Select Case e.KeyCode
        Case keys.Down
            e.Cancel = True
            If Index <> 10 AndAlso Index <> 20 AndAlso Index <> 30 AndAlso Index <> 40 AndAlso Index <> 50 Then e.Form.Controls("h" & (Index+1)).Select
        Case keys.Left
            e.Cancel = True
            If Index > 10 Then e.Form.Controls("h" & (Index-10)).Select
        Case keys.Right
            e.Cancel = True
            If Index <= 40 Then e.Form.Controls("h" & (Index+10)).Select
        Case keys.Up
            e.Cancel = True
            If Index <> 1 AndAlso Index <> 11 AndAlso Index <> 21 AndAlso Index <> 31 AndAlso Index <> 41 Then e.Form.Controls("h" & (Index-1)).Select
    End Select
End If

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


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

左右代码没问题,你加入msgbox,弹出计算后的值是否正确。

 

我单独测试没问题,可以正常切换。


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


加好友 发短信
等级:幼狐 帖子:149 积分:1050 威望:0 精华:0 注册:2016/6/22 20:46:00
  发帖心情 Post By:2018/2/5 15:58:00 [只看该作者]

左右好像跟 tab 键冲突了

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


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

以下是引用281512373在2018/2/5 15:58:00的发言:
左右好像跟 tab 键冲突了

 

实例发上来测试。


 回到顶部