有这样一个需求,不管单击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
------解决思路----------------------
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}")