.net - 更改文本框输入

标签 .net wpf vb.net

我想允许用户使用键盘输入符号。我正在检查文本框 onkeydown 事件中是否有按下的键,然后将其更改为符号,例如,如果我按“a”,则文本框将显示“☺”。但问题是文本框同时显示“a”和“☺”。是否有更好的事件来检查这一点,或者更好的方法来做到这一点?

Private Sub TextBox_KeyDown(sender as object, e as keyeventargs) handles TextBox.KeyDown
  Select Case e.key
    Case 'a'
      TextBox.text += '☺'
    End Select
End Sub

最佳答案

尝试使用KeyPress事件。在该事件处理程序中,您需要将 KeyPressEventArgsHandled 属性设置为 true,以防止将 a 键添加到文本框。

Private Sub TextBox_KeyPress(sender as object, e as KeyPressEventArgs) handles TextBox.KeyPress
  Select Case e.key
    Case 'a'
      TextBox.text += '☺'
      e.Handled = True
    End Select
End Sub

关于.net - 更改文本框输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7080560/

相关文章:

c# - .NET 程序集依赖项

c# - 使用 MVVM 模式时如何实现工具栏?

wpf - 带有 ViewModel 的 Mvvm Light ViewModel

wpf - MVVM 默认按钮比 TextBox 更快地将文本提交到 ViewModel

mysql - SQL插入错误VB.NET

c# - Visual Basic(基于 NET Framework)是一种垂死的语言吗?

c# - 将 C# lambda 函数转换为 VB.net

c# - 使用 .NET Regex 进行泰米尔语全词搜索

.net - 结构 "faster"比类 - 通常还是在 .NET 框架中?

.net - 如何在类库中定位EF生成的元文件?