2016-12-08 7 views
0

Я делаю шестнадцатеричный конвертер с двумя текстовыми полями: TextBox1 для ввода ключа, который вы хотите преобразовать, и TextBox2 для отображения что вы преобразовали.Как я могу сделать текстовое поле для выполнения backspace, когда я не набираю его? VB.NET

До сих пор я получил его, чтобы преобразовать как я напечатал, но когда я нажимаю Backspace, TextBox1 сотрет ключ, но TextBox2 останется с тем же преобразованным кодом, то есть я должен идти в TextBox2, чтобы удалить его вручную ,

Есть ли способ, которым я могу сделать это так, что когда я нажимаю Backspace при наборе текста в TextBox1, TextBox2 также вернется? И есть ли способ, которым я могу сказать, сколько мест для возвращения?

+0

Просьба указать код. Было бы неплохо увидеть код, который преобразует вход и помещает его во второе текстовое поле – djv

ответ

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 

Поскольку я не знаю, как конвертировать каждый символ, я просто сдвинут каждого персонажа на 1.

Вот некоторые изображения

enter image description here

Тогда Я удалил 123 с помощью backspace.

enter image description here

Будет ли это работать?

Смежные вопросы