使用 AutoCompleteMode.Append 的奇怪文本框行为:Ctrl+A 清除文本

Strange TextBox behavior using AutoCompleteMode.Append: Ctrl+A clears the text

我在 TextBox 控件中使用 AutoCompleteMode 设置为 AutoCompleteMode.Append
在自动完成功能将文本附加到现有文本并 select 之后,如果我按 Ctrl+A 到 select 所有文本,文本框将被清除.

任何文本框都会出现这种情况,您可以自行测试。
你知道怎么解决吗?

如果你使用这个快捷方式,那就很烦人了。
该组合在整个过程中 被拦截 ,并且在 AutoCompleteMode = AutoCompleteMode.Append 时行为不端。当列表中的单词被部分 selected 时,您可以看到它;按 ENTER(此处相当于 CTRL+A)到 select,然后按 ENDBACKSPACE:实际上并未清除文本选择,最后一个字母 神奇地 重新 selected 而不是删除.

作为一个简单的解决方法,您可以在检测到该组合时抑制按键,并自己使用 SelectAll() 到 select 文本:
(如前所述,按 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