当前位置: 代码迷 >> VB Dotnet >> 如何手动修改VB中TextBox的光标位置
  详细解决方案

如何手动修改VB中TextBox的光标位置

热度:32   发布时间:2016-04-25 02:08:08.0
怎么手动修改VB中TextBox的光标位置
有这样一个需求,不管单击TextBox中那块,都要把文本框中的文本全选,关键代码如下:
 
Me.SelectionStart = 0
Me.SelectionLength =  Len(Text1.Text)

但运行起来的效果却没有被全选,而是选中了文本框的起始位置到光标单击的位置,观察了下貌似是因为单击时光标没有跳转到文本框的最后引起的。
那么问题来了,怎么手动修改TextBox的光标位置呢?
------解决思路----------------------
加上textBox1.ScrollToCaret()
------解决思路----------------------

'直接使用SelectAll方法,不用修改光标位置了.
  Private Sub TextBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseClick
    TextBox1.SelectAll()
  End Sub

------解决思路----------------------
引用:

'直接使用SelectAll方法,不用修改光标位置了.
  Private Sub TextBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseClick
    TextBox1.SelectAll()
  End Sub

TextBox1.SelectAll()
TextBox1.Focus()
------解决思路----------------------
把鼠标单击文本框任意2文本部位会被全选。

Public Class Form1
    Private Sub TextBox1_Click(sender As Object, e As EventArgs) Handles TextBox1.Click
        Me.TextBox1.SelectionStart = 0
        Me.TextBox1.SelectionLength = Len(Me.TextBox1.Text)
    End Sub
End Class

------解决思路----------------------
或者如下,上面的是自定义具体选择数据时使用。

Public Class Form1
    Private Sub TextBox1_Click(sender As Object, e As EventArgs) Handles TextBox1.Click
        Me.TextBox1.SelectAll()
    End Sub
End Class

------解决思路----------------------
TextBox1.Focus()
SendKeys.Send("{END}+{HOME}")
  相关解决方案