在ShowDialog表单中取消单击事件

时间:2009-05-12 22:24:39

标签: c#

我正在使用xForm.ShowDialog(this);显示表单。

此表单有一个按钮,其DialogResult设置为OK。现在,当我单击“确定”按钮时,会执行一些验证。如果失败,我希望表单保持原样,但表单关闭并返回DialogResult.OK到主窗体。那么我该如何防止这种情况发生呢?

例如

Button_click
{
    If validation fails pretend we never came here
    else some code.. return DialogResult.OK
}

3 个答案:

答案 0 :(得分:3)

Button_click()
{
  if (this.Validate())
  {
    this.DialogResult = DialogResult.OK ;
  }

}

答案 1 :(得分:0)

在对话框的FormClosing事件中,如果您不希望关闭表单,请将FormClosingEventArgs Cancel属性设置为true。

答案 2 :(得分:-1)

不要将DialogResult分配给按钮。可以使用返回DialogResult的方法来调用Form.ShowDialog方法。如果命中了Validate按钮,则验证表单,如果验证成功,则返回预期的DialogResult。