私はすでにキャンセルボタンで causevalidation を false に設定しており、それは機能しています。
bool IsCancelBtnClicked = false;
private void EmployeeIDtextBox_Validating(object sender, CancelEventArgs e)
{
if (EmployeeIDtextBox.Text == "")
{
MessageBox.Show("Please Enter EmployeeID.", "Invalid EmployeeID");
}
}
private void button3_Click(object sender, EventArgs e)
{
IsCancelBtnClicked = true;
EmployeeIDtextBox.Validating -= new CancelEventHandler(textBox4_Validating);
this.Close();
}
また
private void button3_Click(object sender, EventArgs e)
{
AutoValidate = AutoValidate.Disable;
Close();
}
必要なのは、windowsform? の Close[X]box で CauseValidation を false に設定することです。フォーム自体で CauseValidation を false に設定しようとしましたが、うまくいきませんでした。Close[X]box を押すたびに、メッセージボックスが表示されます。