由于我的CancelButton_Clicked
事件,我在Validating
事件中离开我的表单时遇到问题。
我有一个文本框,它有自己的验证方法,如果输入String为null或为空,则返回e.Cancel = true
,否则为e.Cancel = false
。
现在,我有CancelButton
这只是一个常规按钮,我想关闭当前表单,有点像这样:
CancelButton_Clicked(Object sender, EventArgs e)
{
this.Close();
}
但是,如果我这样做,并且如果文本框留空,它不会通过验证,我无法关闭表单。验证图标只是一直闪烁。
我尝试将CausesValidation
设置为false
,我也尝试了这个:
private void btnCancel_Click(object sender, EventArgs e)
{
// Stop the validation of any controls so the form can close.
AutoValidate = AutoValidate.Disable;
Close();
}
但这一切都没有帮助。希望你能。干杯
答案 0 :(得分:3)
我假设您已通过代码或设计师设置btnCancel.CausesValidation=false;
。
设置CausesValidation=false
的{{1}},您可以拨打button
的{{1}} Click
现在你可以做很多事情。
只需取消注册event
内的button
textbox
个事件,即
validating
只需使用布尔标志即可。在btnCancel事件中将其设置为true,并在验证事件
中使用它btn_Cancel
答案 1 :(得分:0)
添加一个私有布尔成员,在CancelButtonClicked中将其设置为true,然后在验证中使用它
答案 2 :(得分:-1)
this.Close()
吗?