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

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

我用的是 AutoCompleteMode 设为 AutoCompleteMode.Append 在TextBox控件中。在自动完成功能将文本添加到现有的并选择它之后,如果我按下了 Ctrl+A 选择所有的文本,文本框就会被清空。

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

vb.net visual-studio windows-forms-designer
1个回答
0
投票

它可以是烦人的,如果你是使用这个快捷键,这是。这个组合是 被拦截 一路走来,当 AutoCompleteMode = AutoCompleteMode.Append. 当列表中的某个单词被部分选中时,您可以看到它,按 进入 (该 CTRL+A 相当于这里的)将其全部选择,然后按下 结束后台空间注意:文本Selection实际上并没有被清除,最后一个字母是 神奇 重新选择而不是删除。

作为一个简单的变通方法,您可以在检测到该组合时抑制按键,并使用 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.