gpt4 book ai didi

c# - 使用 ErrorProvider 和验证事件的表单验证

转载 作者:行者123 更新时间:2023-11-30 12:33:02 25 4
gpt4 key购买 nike

我对使用验证还很陌生。我有一个 C# winform 项目,我想在关闭之前验证一个表单。但是,我只希望在单击按钮时进行此验证。所以我有一个像这样触发的事件:

if (!this.ValidateChildren())
{
MessageBox.Show("Validation failed");
}
else
{
MessageBox.Show("Validation passed with flying colours. :)");
this.Close();
}

我只想在验证成功时关闭表单。很容易。但是,我不想在文本框失去焦点时运行验证,只有在验证整个表单时才运行。

我想要验证的每个控件,我都注册了“验证”事件。他们使用“e.Cancel = true;”取消验证。我一直在使用 ErrorProvider 类来直观地支持这一点。

基本问题是,仅在我想要而不是在控件失去焦点时验证一组特定控件的最佳方法是什么?

编辑:目前作为解决方法,我有一个方法可以打开和关闭“CausesValidation”属性。我默认一切都不是 CauseValidation,在我使用事件验证整个表单之前启用它们,然后再次禁用它们。

我真的不认为这是一种理想的方法。还有更多“优雅”的解决方案吗?

最佳答案

关于c# - 使用 ErrorProvider 和验证事件的表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10128474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com