2011-08-16 191 views
3

我想允许用户使用键盘输入符号。我正在检查按键的文本框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 
+0

粘贴转换文本框文本的确切代码 – Snowbear

回答

7

尝试使用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 
0

从onKeyDown处理函数返回false,它应该防止添加'a'。