以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]求助模拟键盘按键的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146772) |
||||
-- 作者:1669607010 -- 发布时间:2020/3/2 10:52:00 -- [求助]求助模拟键盘按键的问题 做了一个录入界面,现在的需求是当输入焦点在文本框1、文本框2、文本框3、文本框4时,禁用键盘,只能用窗口提供的模拟键盘录入,而当焦点在文本框5的时候可以用键盘输入也可以用窗口提供的模拟键盘录入。哪位老师看看这个功能如何实现????? [此贴子已经被作者于2020/3/2 10:52:47编辑过]
|
||||
-- 作者:1669607010 -- 发布时间:2020/3/2 10:54:00 -- 这是例子,哪位老师帮忙看看,谢谢!
|
||||
-- 作者:有点蓝 -- 发布时间:2020/3/2 11:14:00 -- 文本框1、文本框2、文本框3、文本框4,keydown事件: e.cancel = true
|
||||
-- 作者:1669607010 -- 发布时间:2020/3/2 11:25:00 -- 明白了,老师还有一个问题,模拟键盘的每个按键的代码应该怎么设置最简单啊? |
||||
-- 作者:有点蓝 -- 发布时间:2020/3/2 11:44:00 -- 文本框1、文本框2、文本框3、文本框4enter事件使用全局变量记录点击的是哪个文本框,模拟键盘给全局变量指定的控件赋值 e.form.controls(vars("当前控件")).text &= e.sender.text
|
||||
-- 作者:1669607010 -- 发布时间:2020/3/2 13:36:00 -- 谢谢老师指导,所需功能基本都已实现,现在想再增加一个“←”退格删除键,请问这个按钮怎么处理啊?我其他的模拟按键实在全局单击里写的,这个删除按钮要怎么处理啊?
|
||||
-- 作者:有点蓝 -- 发布时间: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 -- 发布时间: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 老师,这段代码是放在“删除”按钮的单击里面吗?我放进去怎么没效果???
|
||||
-- 作者:有点蓝 -- 发布时间:2020/3/2 15:14:00 -- 窗口afterload给所有文本框设置一下 Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1") Dim d = txt.BaseControl d.HideSelection = False |
||||
-- 作者:1669607010 -- 发布时间:2020/3/3 9:32:00 -- e.form.controls(vars("当前控件")).text &= e.sender.text 老师,还有个问题,按这样的代码,用模拟键盘录入时,输入和删除都正常,可无法实现插入输入,插入输入的时候,无论光标在什么位置录入的内容都在最后面,应该怎么解决? |