问题描述
|
我有一个带有“ 0”控件和一个“ 1”的Windows窗体。每个
TextBox
的Validating
事件确保只能提交格式正确的输入(duh)。 Button
是一个清除按钮,用于重置表单,清除文本框值等。如果我在TextBox
中写了非法内容,然后按清除按钮,则当然会触发验证,并得到get6ѭ告诉我。因此,除非手动清除无效的“ 0”,否则我将无法使用“清除”按钮。
我意识到触发Validating
事件的原因是当我按下清除按钮时TextBox
失去了焦点,但是在这种情况下是否可以忽略验证?
我尝试将“ 10”设置为“ disabled”(禁用),但是随后我没有得到任何验证,这并不是我想要的。
解决方法
将清除按钮的
CausesValidation
属性设置为false
就足够了。如果您选择了文本框并按按钮,则不会触发验证。
从MSDN条目中查找CausesValidation:
获取或设置一个值,该值指示控件在引起焦点时是否导致对需要验证的任何控件执行验证。