Sam_gaik Ответов: 1

Как проверить текстовое поле windows form C#


Я пытаюсь проверить текстовое поле в приложении windows form, совпадение должно быть таким - первая цифра 1,2 или 3, вторая цифра 1 или 2,Третья также 1 или 2

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

regular expression @"^[1-3]{1}[1-2]{1}[1-2]{1}$"

Но это не сработает...никаких предложений..

Mohibur Rashid

ваше регулярное выражение кажется нормальным. Но как насчет вашего кода на c#?

Patrice T

Опишите "не работает" и покажите код с помощью регулярного выражения.

1 Ответов

Рейтинг:
2

OriginalGriff

Вы можете упростить регулярное выражение до просто

^[123][12]{2}$
и он будет работать так же, но ваш оригинал должен работать нормально.
Так что это должен быть ваш код C#.
Попробовать это:
private void MyTextBox_Validating(object sender, CancelEventArgs e)
    {
    if (sender is TextBox tb)
        {
        if (Regex.Match(tb.Text, "^[123][12]{2}$").Success)
            {
            // Validated OK
            e.Cancel = false;
            }
        else
            {
            // validation failed
            e.Cancel = true;
            }
        }
    }