按下特定按钮时忽略TextBoxes的验证

时间:2011-05-25 14:36:31

标签: .net winforms validation

我有一个带有TextBox控件的Windows窗体和一个Button。每个Validating的{​​{1}}事件确保只能提交格式良好的输入(duh)。 TextBox清除按钮,用于重置表单,清除文本框值等。如果我在Button中写了非法内容,然后按清除按钮,当然火灾的验证,我得到TextBox告诉我这个。因此,除非我手动清除无效MessageBox,否则我无法使用清除按钮。

我意识到TextBox事件触发的原因是当我按下清除按钮时Validating失去焦点,但有没有办法忽略此处的验证情况?

我尝试将TextBox设置为禁用,但后来我从未得到任何验证,这不是我想要的。

1 个答案:

答案 0 :(得分:1)

将clear按钮的CausesValidation属性设置为false就足够了。这样,如果您选择了文本框并且按下按钮,则不会触发验证。

来自CausesValidation的MSDN条目:

  

获取或设置一个值,该值指示控件是否导致在获得焦点时需要验证的任何控件上执行验证。