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)

Previous: DateTimePicker 日期时间选择控件
Next: EventLog 系统事件日志控件