如何在显示对话框时处理重入验证事件

时间:2008-10-25 14:28:46

标签: .net winforms validation events

我想知道当你有验证事件时,人们如何处理这种情况,你需要向用户显示一个对话框,询问他是继续还是取消。

问题在于,当显示该对话框时,它会导致另一个验证事件,因为它被认为再次失去对控件的关注,并且最终会出现无限循环的对话框弹出窗口。

我无法在验证事件之前或之后显示消息框,因为用户尚未完成对控件的编辑,或者该值已经提交并且回滚将导致其自身的问题。

我现在正在做的是在显示对话框之前设置一个标志并在之后清除它,然后在验证事件功能中检查标志是否已设置,如果是,则跳过该功能。它有效,但很麻烦,容易出现程序员错误。

有没有更简单的方法来处理这样的事情?

1 个答案:

答案 0 :(得分:1)

查看控件上的CausesValidation属性。您可以设置按下的按钮是否会导致验证事件触发。您还可以以编程方式设置此选项,以防止验证逻辑在不合适的时间触发。