在.NET WinForms应用程序中创建按钮实例时,.CausesValidation属性设置为True。为什么假设所有按钮都会引发验证事件?这是不是意味着,默认情况下,只要按钮只是获得焦点,具有_Validating事件的表单上的所有控件都会调用该事件?
是否获得焦点在一个早期按钮上调用验证事件?特别是默认?按钮单击似乎是一个更合适的默认验证时间。
我问,因为我想确定我正确理解WinForms验证模式。
答案 0 :(得分:3)
我想这是两个邪恶中最安全的。按钮经常处理数据;这种方式,如果你什么都不做,默认情况下你的数据是经过验证的,如果你真的不想验证它,它将非常明显(因为它不起作用)。
与替代方案相比 - 您什么都不做,而且您的按钮无声地成功地对无效数据执行操作,而您却没有注意到,因为它很微妙。
第一个可能更安全,即使它确实会引起一点刺激。