Подтвердить что ты не робот

Почему мое подтверждение не срабатывает на С#?

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

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

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

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

4b9b3361

Ответ 1

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

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

ValidateChildren в MSDN