2014-02-08 5 views
2

Я пробовал использовать IsNumeric(), но он не выполняет то, что я хочу достичь.проверить текстовое поле, если оно имеет 4 целых числа

У меня есть MaskedTextBox. 4 цифры и - как PromptChar.

enter image description here

То, что я хочу, чтобы вызвать событие checkSomething(), когда есть сочетание 4-значный.

Скажите, 0001, тогда он получит событие. Но ничего не произойдет, когда в нем еще есть -. (000- | -001 и так далее)

If mtPig.Text has 4digits then 
..... 
Else 

ответ

2
Private Function IsTextInteger(target As TextBox) As Boolean 

    If Integer.TryParse(target.Text, Nothing) Then    
     If target.Text.Length = 4 Then Return True 
    Else 
     Return False 
    End If 
End Function 
+0

Это возвращает true, но для этого требуется только одно целое число. Он должен иметь 4 целых числа, чтобы вернуть true, иначе false – AdorableVB

+0

вам нужно иметь четыре цифры или максимум 4 цифры? –

+0

Мне нужно, чтобы у меня было четыре цифры другого неправильного ввода. – AdorableVB

0

Посмотрите на MaskCompleted (http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.maskcompleted.aspx) и свойства MaskFull.

MaskCompleted - все обязательные символы были введены

MaskFull - все обязательные и необязательные символы были введены

Вы можете использовать событие Validating, как @Vignesh имеет или KeyPress, если вы хотите сделать это нажатие клавиши нажатием клавиши.

+0

лучший ответ, я бы подумал, но я уже изменил свой контроль на обычный текстовый блок. – AdorableVB

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