Winform程序中,需要在按钮触发前做合法性检查。
如果合法性不通过,不执行按钮Click的事件函数;如果通过,才会继续执行。譬如用户忘记输入文本框中的内容了,需要在用户点击OK按钮的时候做合法性检查。请问,这个合法性检查的代码应该在哪里添加?多谢!!
如果合法性不通过,不执行按钮Click的事件函数;如果通过,才会继续执行。譬如用户忘记输入文本框中的内容了,需要在用户点击OK按钮的时候做合法性检查。请问,这个合法性检查的代码应该在哪里添加?多谢!!
不好意思,可能是我没有说清楚。我那个程序是在父窗口的菜单Click事件中new的一个对话框,并ShowDialog,并判断如果返回结果DialogResult是OK的话,去做一些事情。
在对话框的OK按钮中需要对用户配置进行合法性检查,如果不通过则给提示让继续配置。
如果按照你所说的,在对话框中对OK按钮Click事件中return,那这个对话框就关掉了。怎么处理呢?
你是不是设置了 button1.DialogResult = DialogResult.OK; 之类的,如果是,请把它去掉,或设置为 DialogResult.None,这样单击 button1 时就不会自动关闭对话框了。然后,如果合法性检查不通过,则直接 return,如果通过,再关闭对话框。
button1.DialogResult = DialogResult.OK; // <--- 去掉这句,或改为:
button1.DialogResult = DialogResult.None;
// button1 的 Click 事件中:
if (验证通过) return;
this.DialogResult = DialogResult.OK;
this.Close();