使用错误提供程序处理多个错误

本文关键字:错误 处理 程序 | 更新日期: 2023-09-27 17:57:37

我可以用一个错误提供程序处理(例如)6个文本框的多个验证吗?

使用错误提供程序处理多个错误

如果每个文本框为空,则示例会给每个文本框一个错误,并指定错误是针对哪个文本框的。

*使用开关编辑

private void Form1_Load(object sender, EventArgs e)
{
    foreach (TextBox textBox in Controls) { textBox.Validating += textBox1_Validating; }
}
private void textBox1_Validating(object sender, CancelEventArgs e)
{
    ErrorProvider errProv = new ErrorProvider();
    TextBox txtSender = (TextBox)sender;
    string content = txtSender.Text;
    string error = "";
    switch (txtSender.Name)
    {
        case "textBox1":
            error = "error textbox1";
            break;
        case "textBox2":
            error = "error textbox2";
            break;
        case "textBox3":
            error = "error textbox3";
            break;
        case "textBox4":
            error = "error textbox4";
            break;
        case "textBox5":
            error = "error textbox5";
            break;
        case "textBox6":
            error = "error textbox6";
            break;
        case "textBox7":
            error = "error textbox7";
            break;
        case "textBox8":
            error = "error textbox8";
            break;
    }
    if (content == "") { errProv.SetError(txtSender, error); }
}