设置了ErrorProvider后无法在任何地方单击

时间:2019-04-23 03:17:17

标签: c# asp.net validation

我有以下代码:

private void myTextBox_Validating(object sender, CancelEventArgs e)
{
        if (some condition)
        {
            e.Cancel = true;
            errorProvider.SetError(myTextBox, "Error occurred");
            return;
        }
    this.errorProvider.SetError(this.myTextBox, null);
}

以及以下Button_click代码触发所有Validating事件:

private void saveData_Click(object sender, EventArgs e)
{
    if (!this.ValidateChildren())
    {
        return;
    }
}

它确实验证正确。但是,当我单击该texbox而不更改其无效值时,似乎无法单击myTextBox以外的任何位置。我可以禁用“锁定错误直到您更改它”功能吗?

1 个答案:

答案 0 :(得分:1)

您可以控制控件的行为,无论是否允许控件在失去有效数据时失去焦点。

您可以在表单上设置以下属性:

this.AutoValidate = AutoValidate.EnableAllowFocusChange;

有关获得类似效果的详细信息和其他方法,请查看docs