Почему мое проверочное событие не запускается в C #? - PullRequest
19 голосов
/ 17 февраля 2009

У меня есть форма, которая создается динамически. Это приложение winForms.

Эта форма представляет собой просто меню и серию текстовых полей и меток. Ради этого примера вы можете игнорировать метки.

Моя проблема: Когда я редактирую материал в текстовых полях, затем щелкаю меню, чтобы выдать «Сохранить», текст из последнего текстового поля все еще не имеет своего метода «Проверка». Похоже, это связано с тем, что элемент управления все еще имеет фокус, а меню находится в отдельном потоке.

Как заставить принудительные события срабатывать, когда пользователь нажимает «сохранить»? Я не знаю, в каком текстовом поле находится пользователь (если есть), и ввод SomeKnownControl.Focus(); в функции "save", похоже, не помогает.

1 Ответ

31 голосов
/ 17 февраля 2009

У меня было это раньше. В вашей форме:

private void SaveButtonClick(...)
{
    if (this.ValidateChildren())
    {
        // do save
    }
}

Проверка детей на MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...