当我没有输入VB.NET时,如何让文本框执行退格键

时间:2016-12-08 20:01:50

标签: vb.net textbox controls keypress keydown

我正在制作一个带有两个TextBox的十六进制键盘转换器:TextBox1用于输入要转换的键,TextBox2用于显示您转换的内容。

到目前为止,我已按照键入的方式进行转换,但是当我按 Backspace 时,TextBox1将删除键,但TextBox2将保留相同的转换代码,这意味着我必须转到TextBox2手动擦除它。

有没有办法可以让我在键入TextBox1时按 Backspace 时,TextBox2也会返回?有没有办法告诉它有多少空间可以回去?

1 个答案:

答案 0 :(得分:0)

听起来你正在通过捕获每个键来构建字符串。但是,你不能只转换TextBox1的全部内容并将其放入TextBox2吗?

这是另一种方法。看看它是否有效

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    TextBox2.Text = shiftCharacters(TextBox1.Text)
End Sub

Private Function shiftCharacters(input As String) As String
    Return String.Join("", input.Select(Function(c) ChrW(AscW(c) + 1)))
End Function

由于我不知道你如何转换每个角色,我只是将每个角色向上移动了一步。

以下是一些图片

enter image description here

然后我用退格键删除了123。

enter image description here

这会起作用吗?