Shaheer Rizwan Ответов: 2

Исключите некоторые ключи из ввода в текстовое поле


Привет, мне было интересно, как я могу сделать так, чтобы текстовое поле не могло принимать", " (запятые) всякий раз, когда оно вводится, и поэтому показывать "Вы не можете вводить запятые".

Я хочу этого, так как это испортит мой CSV-файл.

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

Я пытался искать в сети, но безуспешно.

2 Ответов

Рейтинг:
14

kgmmurugesh

Private Sub txtPin_KeyPress(sender As Object, e As KeyPressEventArgs) обрабатывает txtPin.нажатие


e.Handled = "0123456789 ".IndexOf(e.KeyChar) = -1 и также не Char.IsControl(электронная.Ключевой-символ)

Конец Подводной Лодки


Это позволит использовать только символы "0123456789".


Рейтинг:
1

Sandeep Mewara

Вы можете использовать такие события, как: Контроль.Событие KeyDown (System.Окна.Формы) | Microsoft Docs[^]

Затем обработайте сценарий в событии. Образец:

' Boolean flag used to determine when a character other than a number is entered.
 Private nonNumberEntered As Boolean = False


 ' Handle the KeyDown event to determine the type of character entered into the control.
 Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) _
      Handles textBox1.KeyDown
     ' Initialize the flag to false.
     nonNumberEntered = False
   
     ' Determine whether the keystroke is a number from the top of the keyboard.
     If e.KeyCode < Keys.D0 OrElse e.KeyCode > Keys.D9 Then
         ' Determine whether the keystroke is a number from the keypad.
         If e.KeyCode < Keys.NumPad0 OrElse e.KeyCode > Keys.NumPad9 Then
             ' Determine whether the keystroke is a backspace.
             If e.KeyCode <> Keys.Back Then
                 ' A non-numerical keystroke was pressed. 
                 ' Set the flag to true and evaluate in KeyPress event.
                 nonNumberEntered = True
             End If
         End If
     End If
     'If shift key was pressed, it's not a number.
     If Control.ModifierKeys = Keys.Shift Then
         nonNumberEntered = true
     End If
 End Sub


 ' This event occurs after the KeyDown event and can be used 
 ' to prevent characters from entering the control.
 Private Sub textBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) _
     Handles textBox1.KeyPress
     ' Check for the flag being set in the KeyDown event.
     If nonNumberEntered = True Then
         ' Stop the character from being entered into the control since it is non-numerical.
         e.Handled = True
     End If
 End Sub