使用AutoCompleteMode的奇怪TextBox行为。附加:Ctrl + A清除文本

问题描述 投票:1回答:1

我在TextBox控件中使用AutoCompleteMode设置为AutoCompleteMode.Append。自动完成功能将文本追加到现有文本并将其选中后,如果按Ctrl + A选择所有文本,则将清除textBox。

任何文本框都会发生这种情况,您可以自己进行测试。您知道如何解决它吗?

vb.net winforms autocomplete textbox
1个回答
0
投票

如果使用此快捷方式,那就很烦。该组合一直是intercepted,并且在AutoCompleteMode = AutoCompleteMode.Append时行为异常。当列表中的某个单词被部分选择时,您可以看到它,按ENTER(此处等同于CTRL + A),然后全部选择,然后按ENDBACKSPACE :实际上并未清除选择文本,而是重新选择了最后一个字母,而不是将其删除。 作为一种简单的解决方法,当您检测到该组合并使用SelectAll()自己选择文本时,可以抑制按键输入:

(请注意,按Enter表示相同的意思)

Private Sub TextBox1_KeyDown(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyDown If e.Control AndAlso e.KeyCode = Keys.A Then e.SuppressKeyPress = True TextBox1.SelectAll() End If End Sub

© www.soinside.com 2019 - 2024. All rights reserved.