VB文本框重新获得焦点时如何保证光标仍然在原来的位置
因为一些操作需要切换焦点的位置,但是焦点重新回到文本框时,光标就跑到文本框开头了,如何保证每次文本框获得焦点时,光标停留在上次操作的位置?(不一定是文本末尾)...
因为一些操作需要切换焦点的位置,但是焦点重新回到文本框时,光标就跑到文本框开头了,如何保证每次文本框获得焦点时,光标停留在上次操作的位置?(不一定是文本末尾)
展开
3个回答
展开全部
楼上的说的方法在实际中不太实用。当文本框很多并都有此要求的时候,岂不是很麻烦?
我们可以用每一个控件都有,但我们平时很少用到的一个属性:tag属性
在窗体上添加两个文本框,用下面代码,运行后用Tab键改变焦点试试。
Private Sub Text1_GotFocus()
Text1.SelStart = Val(Text1.Tag)
End Sub
Private Sub Text1_LostFocus()
Text1.Tag = Str(Text1.SelStart)
End Sub
请参看我的博客中专门为这个回答写的博客:http://hi.baidu.com/zgmg/blog/item/9f3307a43317d0ed9052eead.html?timeStamp=1312955764468
我们可以用每一个控件都有,但我们平时很少用到的一个属性:tag属性
在窗体上添加两个文本框,用下面代码,运行后用Tab键改变焦点试试。
Private Sub Text1_GotFocus()
Text1.SelStart = Val(Text1.Tag)
End Sub
Private Sub Text1_LostFocus()
Text1.Tag = Str(Text1.SelStart)
End Sub
请参看我的博客中专门为这个回答写的博客:http://hi.baidu.com/zgmg/blog/item/9f3307a43317d0ed9052eead.html?timeStamp=1312955764468
展开全部
那就要对应每个文本框都设置一个全局变量,当其失去焦点时记录光标位置,代码如下:
Private text1start As Integer
Private Sub Command1_Click()
Text1.SetFocus
End Sub
Private Sub Text1_GotFocus()
Text1.SelStart = text1start
End Sub
Private Sub Text1_LostFocus()
text1start = Text1.SelStart
End Sub
Private text1start As Integer
Private Sub Command1_Click()
Text1.SetFocus
End Sub
Private Sub Text1_GotFocus()
Text1.SelStart = text1start
End Sub
Private Sub Text1_LostFocus()
text1start = Text1.SelStart
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像直接把TextBox的HideSelection属性设置为False就行,楼主可以试一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询