防止文本框聚焦时自动选择文本

4
当您使用Tab键选择文本框时,其中的所有文本都会自动被选中。有什么最简单的方法可以防止这种情况发生?(在Enter或GotFocus事件中将选择设置为“none”无效)
谢谢(-:)
2个回答

9

(我假设你正在使用WinForms)

你已经尝试过的方法是可行的。

如果你在文本框上处理Enter事件,你可以将选择设置为无:

Private Sub textBox_Enter(ByVal sender As Object, ByVal e As EventArgs)
    Dim position As Integer = textBox.Text.Length
    textBox.Select(position, position)
End Sub

这将选择设置为一个零长度字符串,从文本框中当前文本的结尾开始。这是为了将插入符号定位到当前文本的末尾。


2
哦,那样可以,谢谢!我猜当仅设置选择开始和选择长度时,与使用 .Select 有所不同。此外,textbox.Select(textbox.selectionstart, textbox.selectionstart) 更适合我的需求。 - Jiri
3
不要忘记 textBox.ScrollToCaret() - ChatGPT

1
您还可以使用 textBox.DeSelectAll()

1
对于那些感兴趣的人,这似乎将插入符号放置在文本框的开头。另一个答案将插入符号放置在文本框的末尾。 - Jeff B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接