Foxtable(狐表)用户栏目专家坐堂 → [求助]求助模拟键盘按键的问题


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

主题:[求助]求助模拟键盘按键的问题

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
[求助]求助模拟键盘按键的问题  发帖心情 Post By:2020/3/2 10:52:00 [只看该作者]

做了一个录入界面,现在的需求是当输入焦点在文本框1、文本框2、文本框3、文本框4时,禁用键盘,只能用窗口提供的模拟键盘录入,而当焦点在文本框5的时候可以用键盘输入也可以用窗口提供的模拟键盘录入。哪位老师看看这个功能如何实现?????
[此贴子已经被作者于2020/3/2 10:52:47编辑过]

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/3/2 10:54:00 [只看该作者]

这是例子,哪位老师帮忙看看,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:模拟键盘.table


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


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

文本框1、文本框2、文本框3、文本框4,keydown事件:

e.cancel = true

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/3/2 11:25:00 [只看该作者]

明白了,老师还有一个问题,模拟键盘的每个按键的代码应该怎么设置最简单啊?

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


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

文本框1、文本框2、文本框3、文本框4enter事件使用全局变量记录点击的是哪个文本框,模拟键盘给全局变量指定的控件赋值

e.form.controls(vars("当前控件")).text &= e.sender.text

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/3/2 13:36:00 [只看该作者]

谢谢老师指导,所需功能基本都已实现,现在想再增加一个“←”退格删除键,请问这个按钮怎么处理啊?我其他的模拟按键实在全局单击里写的,这个删除按钮要怎么处理啊?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


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


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

按钮事件
Dim txt As WinForm.TextBox = e.Form.Controls(vars("当前控件"))
Dim i As Integer = txt.SelectionStart
If i > 0 Then
    Dim s As String = txt.Text.SubString(i)
    txt.text = txt.Text.SubString(0,i-1) & s
    txt.SelectionStart = i-1
End If

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/3/2 14:50:00 [只看该作者]

Dim txt As WinForm.TextBox = e.Form.Controls(vars("当前控件"))
Dim i As Integer = txt.SelectionStart
If i > 0 Then
    Dim s As String = txt.Text.SubString(i)
    txt.text = txt.Text.SubString(0,i-1) & s
    txt.SelectionStart = i-1
End If

老师,这段代码是放在“删除”按钮的单击里面吗?我放进去怎么没效果???

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


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

窗口afterload给所有文本框设置一下

Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim d = txt.BaseControl
d.HideSelection = False

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


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2020/3/3 9:32:00 [只看该作者]

e.form.controls(vars("当前控件")).text &= e.sender.text
老师,还有个问题,按这样的代码,用模拟键盘录入时,输入和删除都正常,可无法实现插入输入,插入输入的时候,无论光标在什么位置录入的内容都在最后面,应该怎么解决?


 回到顶部
总数 11 1 2 下一页