Foxtable(狐表)用户栏目专家坐堂 → 文本框控件


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

主题:文本框控件

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


加好友 发短信
等级:幼狐 帖子:149 积分:1050 威望:0 精华:0 注册:2016/6/22 20:46:00
文本框控件  发帖心情 Post By:2017/2/3 22:30:00 [只看该作者]

用上下左右方向键移动,怎么弄呀?

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/3 22:36:00 [只看该作者]

移动控件?ctrl+方向键

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


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

移动光标 方便输入

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


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


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

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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/2/3 23:07:00 [只看该作者]

为了减少代码和逻辑操作,首先你的控件的排位和命名要有规律,如图

图片点击可在新窗口打开查看此主题相关图片如下:无标题.gif
图片点击可在新窗口打开查看

然后窗口设置KeyDown事件如下:

If Typeof e.Sender Is  WinForm.TextBox Then
    
    Dim Index As Integer = CInt(e.Sender.Name.Replace("TextBox",""))
    Select Case e.KeyCode
        Case keys.Down
            e.Cancel = True
            If Index <> 3 AndAlso Index <> 6 Then e.Form.Controls("TextBox" & (Index+1)).Select
        Case keys.Left
            e.Cancel = True
            If Index > 3 Then e.Form.Controls("TextBox" & (Index-3)).Select
        Case keys.Right
            e.Cancel = True
            If Index <= 3 Then e.Form.Controls("TextBox" & (Index+3)).Select
        Case keys.Up
            e.Cancel = True
            If Index <> 1 AndAlso Index <> 4 Then e.Form.Controls("TextBox" & (Index-1)).Select
    End Select
End If
[此贴子已经被作者于2017/2/3 23:09:33编辑过]

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


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

嗯谢谢可以  2列文本框 没问题  要是我有5列 应该怎么改

好像找到答案了 用 AndAlso 就可以了
[此贴子已经被作者于2017/2/5 14:41:10编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/5 14:54:00 [只看该作者]

排列整齐,命名按规则,按下对应键,从当前文本框跳到对应数字的文本框,即可。

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


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

嗯 OrElse 判断多列就可以了

我还想加一个 当大于 TextBox9  的时候  按下up和Left 直接跳到 TextBox1

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/5 15:12:00 [只看该作者]

加上判断

 

If index >= 9 Then

 

End If

[此贴子已经被作者于2017/2/5 15:12:24编辑过]

 回到顶部