У меня есть форма Windows, в которой есть событие проверки для textBox, так что, если значение этого TextBox является значением, которое уже существует, оно вызывает ошибку проверки.
private void txtUsername_Validating(object sender, CancelEventArgs e)
{
var alreadyExists = _logic.UserIdExists(txtUsername.Text.Trim());
if(alreadyExists)
{
errorProvider1.SetError(txtUsername, "This Userid already exists, please choose an alternative");
e.Cancel = true;
}
}
private void txtUsername_Validated(object sender, EventArgs e)
{
errorProvider1.SetError(txtUsername, "");
}
this.txtUsername.Validating += new System.ComponentModel.CancelEventHandler(this.txtUsername_Validating);
this.txtUsername.Validated += new System.EventHandler(this.txtUsername_Validated);
Это приводит к появлению изображения ошибки рядом с этим текстовым полем вместе с сообщением об ошибке всплывающей подсказки.
Если я попытаюсь закрыть приложение, используя кнопку «Закрыть» в верхней части окна, в настоящее время я не смогу, так как указанное выше событие продолжает срабатывать, даже когда я пытаюсь закрыть окно (из-за того, что я отвел фокус от Текстовое поле).
Есть ли способ закрыть окно, не прибегая к созданию дополнительной кнопки Закрыть на форме?