Не могу нигде нажать, когда установлен ErrorProvider - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть следующий код:

private void myTextBox_Validating(object sender, CancelEventArgs e)
{
        if (some condition)
        {
            e.Cancel = true;
            errorProvider.SetError(myTextBox, "Error occurred");
            return;
        }
    this.errorProvider.SetError(this.myTextBox, null);
}

И следующий Button_click код для запуска всех Validating событий:

private void saveData_Click(object sender, EventArgs e)
{
    if (!this.ValidateChildren())
    {
        return;
    }
}

Это действительно правильно подтвердил. Однако я не могу щелкнуть нигде, кроме myTextBox, когда щелкаю этот текстовый ящик, не изменяя его недопустимое значение. Могу ли я отключить эту функцию «блокировки вашей ошибки, пока вы ее не измените»?

1 Ответ

1 голос
/ 23 апреля 2019

Вы можете контролировать поведение своих элементов управления, независимо от того, разрешено ли им терять фокус при наличии неверных данных.

В вашей форме вы можете установить следующее свойство:

this.AutoValidate = AutoValidate.EnableAllowFocusChange;

Для получения подробной информации и других способов получения подобного эффекта, пожалуйста, посмотрите документы

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