Запустите все Проверочные события в Форме по нажатию кнопки

У меня есть небольшая форма с некоторыми текстовыми полями и комбинированными полями, каждое из которых имеет свое собственное событие проверки, которое просто заполняет значение по умолчанию 1 или 0 в зависимости от поля, когда пользователь переходит к следующему полю, не вводя ничего, однако я также хочу запускать все проверки, когда пользователь просто нажимает кнопку "Отправить" напрямую.

private void Validating_Zero(object sender, CancelEventArgs e)
{
    if (((TextBox_Pro)sender).Text == "")
    {
        ((TextBox_Pro)sender).Text = "0";
    }
}

private void Validating_One(object sender, CancelEventArgs e)
{
    if (((TextBox_Pro)sender).Text == "")
    {
        ((TextBox_Pro)sender).Text = "1";
    }
}

private void Start_Validating(object sender, CancelEventArgs e)
{

}

1 ответ

Решение

Призвание ValidateChildren() метод формы, заставить все дочерние элементы управления формы проверять свои данные.

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

Чтобы увидеть пример проверки с использованием Validating событие и Error контроль поставщика и отображение сводки ошибок, а также подробнее о параметрах проверки в Windows Forms, посмотрите на эти сообщения:

Другие вопросы по тегам