Computechsoft Ответов: 1

Значение не сеять на textbox1_keypress


1 - Когда я ввожу "1" в
TextBox1_KeyPress
значение события не будет отображаться в текстовом поле 1

2 - Когда я ввожу "1" в
TextBox1_TextChanged
отображение значения события в текстовом поле

Что я уже пробовал:

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
      Array(0) = TextBox1.Text ' Showing
  End Sub

  Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
      Array(0)= TextBox1.Text 'Not showing
  End Sub

1 Ответов

Рейтинг:
12

OriginalGriff

Это происходит потому, что событие нажатия клавиши происходит до изменения текста. Если вы подумаете об этом, это единственный способ, которым это может работать: клавиша, которую он нажал, может быть не текстовой клавишей, это может быть TAB, ENTER, движение курсора, функциональная клавиша ... или вы можете попытаться предотвратить работу буквенных клавиш в числовом текстовом поле.
KeyPressEventArgs имеет свойство KeyChar, которое сообщает вам, какая клавиша была нажата, и свойство Handled, позволяющее предотвратить дальнейшее движение клавиши - если оно установлено в true, то оно останавливается на этом и "нормальная" обработка ключа не происходит.


Maciej Los

5ed!