单击按钮时运行表单上的所有验证事件

Dea*_*tan 3 .net c# validating winforms

我有一个带有一些文本框和组合框的小表单,每个都有自己的验证事件,当用户移动到下一个框而不输入任何内容时,它只会填充默认值 1 或 0,具体取决于该框,但是我也想要当用户直接单击提交按钮时运行所有验证。

private void Validating_Zero(object sender, CancelEventArgs e)
{
    if (((TextBox_Pro)sender).Text == "")
    {
        ((TextBox_Pro)sender).Text = "0";
    }
}

private void Validating_One(object sender, CancelEventArgs e)
{
    if (((TextBox_Pro)sender).Text == "")
    {
        ((TextBox_Pro)sender).Text = "1";
    }
}

private void Start_Validating(object sender, CancelEventArgs e)
{

}
Run Code Online (Sandbox Code Playgroud)

Rez*_*aei 6

调用ValidateChildren()表单的方法,导致表单的所有子控件验证其数据。

您还可以使用接受验证约束的方法的其他重载,ValidateChildren(ValidationConstraints)将验证限制为直接子控件、启用的控件、制表位控件、可选择的控件、可见控件或所有控件。

Validating要查看使用事件和提供程序控件进行验证并显示错误摘要的示例Error,并阅读有关 Windows 窗体中的验证选项的更多信息,请查看以下帖子: