加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

同时在C#窗体上验证几个文本框

发布时间:2020-12-15 17:46:18 所属栏目:百科 来源:网络整理
导读:我有一个表单与几个文本框和其他控件.我正在使用errorprovider控件,并且在需要验证的每个文本框上连接验证事件.当控件产生焦点到另一个控件时,验证事件发生.因此,当您使用Tab键离开当前控件或当您使用mouse 1单击另一个控件时,会发生该事件.而且我发现非常烦
我有一个表单与几个文本框和其他控件.我正在使用errorprovider控件,并且在需要验证的每个文本框上连接验证事件.当控件产生焦点到另一个控件时,验证事件发生.因此,当您使用Tab键离开当前控件或当您使用mouse 1单击另一个控件时,会发生该事件.而且我发现非常烦人,只是举个例子,如果我打开这个winform,然后立即尝试关闭它,这不会让我,因为验证将触发抱怨第一个文本框没有输入文本.

我想要的行为是使用错误提供者,只有当我单击窗体的保存按钮时,我该如何验证整个窗体?

谢谢

解决方法

检查物业 Form.AutoValidate.

可能的值:

>禁用

Implicit validation will not occur. Setting this value will not
interfere with explicit calls to
Validate or ValidateChildren.

> EnablePreventFocusChange

Implicit validation occurs when the
control loses focus.

> EnableAllowFocusChange

Implicit validation occurs,but if
validation fails,focus will still
change to the new control. If
validation fails,the Validated event
will not fire.

将其设置为EnableAllowFocusChange将解决打开窗体的问题,并立即尝试关闭它,因为焦点将被转移到“取消”按钮.

如果要完全控制验证,您可以将其设置为禁用并使用Form.Validate和Form.ValidateChildren执行手动验证.我不是100%肯定的,但我相信Form.ValidateChildren不会触发对TabControl内的控件的验证事件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读