使用 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,然后按 END 和 BACKSPACE:实际上并未清除文本选择,最后一个字母 神奇地 重新 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
我在 TextBox 控件中使用 AutoCompleteMode
设置为 AutoCompleteMode.Append
。
在自动完成功能将文本附加到现有文本并 select 之后,如果我按 Ctrl+A 到 select 所有文本,文本框将被清除.
任何文本框都会出现这种情况,您可以自行测试。
你知道怎么解决吗?
如果你使用这个快捷方式,那就很烦人了。
该组合在整个过程中 被拦截 ,并且在 AutoCompleteMode = AutoCompleteMode.Append
时行为不端。当列表中的单词被部分 selected 时,您可以看到它;按 ENTER(此处相当于 CTRL+A)到 select,然后按 END 和 BACKSPACE:实际上并未清除文本选择,最后一个字母 神奇地 重新 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