我的表单上有一个按钮btnOK
,其DialogResult
属性为OK
。表单的AcceptButton
属性设置为btnOK
。因此,如果我单击该按钮,表单将自动关闭。
现在,在btnOK_Click()
方法中,我希望能够取消关闭操作,例如如果出现错误,我想显示一个消息框而不是关闭表单。
我该怎么做?
答案 0 :(得分:9)
错误时添加:
this.DialogResult = DialogResult.None
答案 1 :(得分:6)
IMO您不必在按钮上设置DialogResult
属性,而是直接在btnOK_Click
事件中的表单上设置:
private void btnOK_Click(object sender, EventArgs e)
{
if (yeahLetsClose)
this.DialogResult = DialogResult.OK; // form will close with OK result
// else --> form won't close...
}
BTW,AcceptButton
属性与ENTER键相关(当您在表单上按下它时,AcceptButton
将被按下)
答案 2 :(得分:1)
为表单关闭事件添加事件处理程序。 EventArgs参数应具有Cancel属性。