ErrorProvider 错误提示控件

ErrorProvider 错误提示控件

ErrorProvider 是一个用于在表单或其它控件上呈现用户输入错误提示信息的组件。

当用户输入不符合要求时,可以在对应控件旁显示一个错误图标和提示文本。

可以自定义错误图标、闪烁样式等。

示例:文本框非空验证

给文本框增加一个 TextChanged 事件,当用户输入为空时显示错误提示:

private void textBox1_TextChanged(object sender, EventArgs e)
{
    if (this.textBox1.Text == "")
    {
        this.errorProvider1.SetError(this.textBox1, "名字不能为空");
    }
    else
    {
        this.errorProvider1.Clear(); // 如果不为空 则清除错误信息
    }
}Code language: JavaScript (javascript)

运行后,当文本框内容为空时,右侧会出现错误图标,鼠标悬停显示”名字不能为空”;输入内容后错误提示自动消失。

常用方法

方法说明
SetError(Control, string)为指定控件设置错误提示文本,控件旁显示错误图标
Clear()清除所有控件的错误提示
GetError(Control)获取指定控件的错误提示文本
SetIconAlignment(Control, ErrorIconAlignment)设置错误图标的对齐方式
SetIconPadding(Control, int)设置错误图标与控件的间距

常用属性

属性说明
Icon自定义错误图标(默认是红色感叹号)
BlinkStyle图标闪烁样式(BlinkIfDifferentError、AlwaysBlink、NeverBlink)
BlinkRate闪烁频率(毫秒)

多控件验证示例

private void button9_Click(object sender, EventArgs e)
{
    bool isValid = true;

    if (string.IsNullOrEmpty(textBox1.Text))
    {
        errorProvider1.SetError(textBox1, "名字不能为空");
        isValid = false;
    }
    else
    {
        errorProvider1.SetError(textBox1, "");
    }

    if (string.IsNullOrEmpty(textBox2.Text))
    {
        errorProvider2.SetError(textBox2, "年龄不能为空");
        isValid = false;
    }
    else
    {
        errorProvider2.SetError(textBox2, "");
    }

    if (isValid)
    {
        MessageBox.Show("验证通过");
    }
}Code language: JavaScript (javascript)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注