多个文本输入控件关联ErrorProvider组件的问题

本文探讨了在C#.NET WinForm应用中利用ErrorProvider组件进行输入验证的方法。面对焦点锁定与强制关闭窗体之间的矛盾,文章提出了一种解决策略,即通过设置取消按钮的causesvalidation属性为false来实现既确保输入的有效性又能允许用户随时退出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在C#.NET的WinForm中,ErrorProvider组件对验证输入文本是很好的工具,我的方法是放在输入控件如文本框的Validating事件里验证,但现在有个问题。若指示有错时把事件取消:e.Cancel=false;令焦点不能离开该控件时,却又出现新的问题——我不想输入了,却不能强制关闭窗体了,因为焦点不能转移了。
如果我不设e.Cancel=false;而改设确定键禁用的话,那多个文本框的验证又如何保证多个输入验证全部通过?我尝试用了
foreach(Control con in this.Controls){
    if(!ErrorProvider.GetError(control).Equals("")){
        btnOK.Enable=false;
        return;
    }
}
的方法,但不见效果,到底有什么办法能达到我的目的,能验证多个文本输入,有错误就不能提交,但仍可以强制关闭窗体?

=====================

把你的“取消”按钮 的causesvalidation 属性设置为false
就ok了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值