Winform程序中,需要在按钮触发前做合法性检查。
如果合法性不通过,不执行按钮Click的事件函数;如果通过,才会继续执行。譬如用户忘记输入文本框中的内容了,需要在用户点击OK按钮的时候做合法性检查。请问,这个合法性检查的代码应该在哪里添加?多谢!!

解决方案 »

  1.   

    不通过,给个提示然后return就行了
      

  2.   

    楼上的兄弟,这么晚了还在帮忙,感谢!!
    不好意思,可能是我没有说清楚。我那个程序是在父窗口的菜单Click事件中new的一个对话框,并ShowDialog,并判断如果返回结果DialogResult是OK的话,去做一些事情。
    在对话框的OK按钮中需要对用户配置进行合法性检查,如果不通过则给提示让继续配置。
    如果按照你所说的,在对话框中对OK按钮Click事件中return,那这个对话框就关掉了。怎么处理呢?
      

  3.   


    你是不是设置了 button1.DialogResult = DialogResult.OK; 之类的,如果是,请把它去掉,或设置为 DialogResult.None,这样单击 button1 时就不会自动关闭对话框了。然后,如果合法性检查不通过,则直接 return,如果通过,再关闭对话框。
      

  4.   

    总结如下:
    button1.DialogResult = DialogResult.OK; // <--- 去掉这句,或改为:
    button1.DialogResult = DialogResult.None;
    // button1 的 Click 事件中:
    if (验证通过) return;
    this.DialogResult = DialogResult.OK;
    this.Close();
      

  5.   

    if (验证通过) return;改为:if (验证通过) return;
      

  6.   

    那我在主程序里面如何判断对话框是合法性检查通过而后关闭的,还是直接cancel或者直接关闭的?