我有一个带有TextBox
控件的Windows窗体和一个Button
。每个Validating
的{{1}}事件确保只能提交格式良好的输入(duh)。 TextBox
是清除按钮,用于重置表单,清除文本框值等。如果我在Button
中写了非法内容,然后按清除按钮,当然火灾的验证,我得到TextBox
告诉我这个。因此,除非我手动清除无效MessageBox
,否则我无法使用清除按钮。
我意识到TextBox
事件触发的原因是当我按下清除按钮时Validating
失去焦点,但有没有办法忽略此处的验证情况?
我尝试将TextBox
设置为禁用,但后来我从未得到任何验证,这不是我想要的。
答案 0 :(得分:1)
将clear按钮的CausesValidation
属性设置为false
就足够了。这样,如果您选择了文本框并且按下按钮,则不会触发验证。
来自CausesValidation的MSDN条目:
获取或设置一个值,该值指示控件是否导致在获得焦点时需要验证的任何控件上执行验证。