2015-10-02 5 views
0

Мне нужно, чтобы пользователь вводил только целые числа в TextBox. У меня уже есть эта проверка, проблема в том, что я хочу показать MessageBox пользователю, если он/она набирает точку, букву или символы! @ #. MessageBox отображается пользователю, если введен неверный символ, но письмо все еще появляется в TextBox, чего я не хочу.Показать сообщение MessageBox и игнорировать недопустимые символы в TextBox

Не мог бы вы помочь мне и скажите мне, что случилось с моим кодом, пожалуйста

Private Sub txtCMS_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtCMS.KeyPress 
    If (e.Handled = Not IsNumeric(e.KeyChar) And Not Char.IsControl(e.KeyChar)) = False Then 
     MessageBox.Show("Favor ingrese solo numeros", "Pablo Tobar says...", MessageBoxButtons.OK, MessageBoxIcon.Information) 
    End If  
End Sub 

ответ

0

Я использую этот код:

Private Sub txtCMS_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtCMS.KeyPress 
    If Not (IsNumeric(e.KeyChar) OrElse Char.IsControl(e.KeyChar)) Then 
     e.Handled = True 
     MessageBox.Show("Por favor, ingrese sólo números", "Pablo Tobar says...", MessageBoxButtons.OK, MessageBoxIcon.Information) 
    End If 
End Sub 

Надеется, что это может помочь вам! До свидания.

0

Ваш тест на числовой ввод, похоже, перепутался с кодом, чтобы игнорировать недопустимые символы. Вы можете использовать Char.IsDigit, чтобы проверить, что символ является десятичной цифрой, и вам нужно установить e.Handled = True, чтобы игнорировать ввод.

Private Sub txtCMS_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtCMS.KeyPress 
    If Not Char.IsDigit(e.KeyChar) Then 
     MessageBox.Show("Invalid number") 
     e.Handled = True 
    End If 
End Sub 
Смежные вопросы