首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

怎么保持一个textbox控件始终在setfocus状态

2012-05-30 
如何保持一个textbox控件始终在setfocus状态我的form里有个textbox 我想始终把焦点放到这个textbox上 让它

如何保持一个textbox控件始终在setfocus状态
我的form里有个textbox 我想始终把焦点放到这个textbox上 让它接收外部划卡器(PS2口那种)输入的数据


但是form里还有其他的label、command什么的 一不小心用鼠标点了 就会让textbox失去setfocus

从而不能接收ps2口传进来的数据

有什么办法能始终让textbox保持setfocus 谢谢

[解决办法]
form 有一个属性 是让form的keypress事件 在控件前面 然后处理form的 kepress事件
[解决办法]
最简单的办法就是在窗体中放置一个Timer,设置Interval=100
在Timer 中执行Text1.Setfocus

更好的办法是读取PS2键盘对应的IO地址,将输入内容解析出来,填入Text1中。这样就不用频繁的设置焦点。
[解决办法]
不用考虑保持焦点。让 Form 拦截键盘输入事件,直接处理即可。

Private Sub Form_KeyPress(KeyAscii As Integer)
Text1 = Text1 & Chr(KeyAscii)
End Sub

Private Sub Form_Load()
Me.KeyPreview = True
End Sub
[解决办法]
改进一点:

Private Sub Form_KeyPress(KeyAscii As Integer)
If Not Me.ActiveControl Is Text1 Then Text1 = Text1 & Chr(KeyAscii)
End Sub

Private Sub Form_Load()
Me.KeyPreview = True
End Sub
[解决办法]
把text1的tabindex=0,tabstop=true,
并且:
Private Sub Text1_LostFocus()
Text1.SetFocus
End Sub

玩流氓呗

热点排行