使用 Windows 窗体 ErrorProvider 组件,可以对窗体或控件上的用户输入进行验证。当验证用户在窗体中的输入或显示数据集内的错误时,一般要用到该控件。相对于在消息框中显示错误信息,错误提供程序是更好的选择,因为一旦关闭了消息框,就再也看不见错误信息。ErrorProvider 组件在相关控件(如文本框)旁显示一个错误图标 ();当用户将鼠标指针放在该错误图标上时,将出现显示错误信息字符串的工具提示。
ErrorProvider 组件的常用属性包括:
(1) BlinkRate 属性:获取或设置错误图标的闪烁速率(以毫秒为单位),默认为 250 毫秒。
(2) Icon 属性:获取或设置错误图标,当为控件设置了错误描述字符串时,该图标显示在有错误的控件旁边。
若要获得最好的效果,请使用大小为 16×16 像素的图标。如有必要,可将指定图标的大小调整为 16×16 像素。
(3) BlinkStyle 属性:获取或设置一个值,通过该值指示错误图标的闪烁时间。
属性值是一个 ErrorBlinkStyle 枚举类型:
成员名称 说明
AlwaysBlink 当错误图标第一次显示时,或者当为控件设置了错误描
述字符串并且错误图标已经显示时,总是闪烁。
BlinkIfDifferentError 图标已经显示并且为控件设置了新的错误字符串时闪烁。
NeverBlink 错误图标从不闪烁。
默认为 BlinkIfDifferentError。
ErrorProvider 组件常用的公共方法包括:
(1) SetError 方法:设置指定控件的错误描述字符串。
该方法的声明如下:
public void SetError (
Control control,
string value
);
其中,参数 control 表示要为其设置错误描述字符串的控件;参数 value 表示错误描述字符串。
(2) SetIconAlignment 方法:设置错误图标相对于控件的放置位置。
该方法的声明如下:
public void SetIconAlignment (
Control control,
ErrorIconAlignment value
);
其中,参数 control 是要为其设置图标位置的控件。参数 value 是一个枚举类型ErrorIconAlignment 的值。
成员名称 说明
BottomLeft 图标显得与控件的底部和控件的左边对齐。
BottomRight 图标显得与控件的底部和控件的右边对齐。
MiddleLeft 图标显得与控件的中间和控件的左边对齐。
MiddleRight 图标显得与控件的中间和控件的右边对齐。
TopLeft 图标显得与控件的顶部和控件的左边对齐。
TopRight 图标显得与控件的顶部和控件的右边对齐。
(3) SetIconPadding 方法:设置指定控件和错误图标之间应保留的额外空间量。
该方法声明如下:
public void SetIconPadding (
Control control,
int padding
);
其中,参数 control 是要为其设置空白的控件;padding 是要在图标与指定控件之间添加的像素数。
很多图标的中心图像周围通常都留有多余的空间,因此只有当需要额外空间时才需要填充值。填充值可以为正,也可以为负。负值将使图标与控件的边缘重叠。
下面的实例主要介绍了如何使用 ErrorProvider 组件指示窗体上有关错误信息的编程技术。实例程序执行后,当用户两次密码的输入不一致时,会弹出一个错误提示框,并在密码输入控件的右边显示一个红色的警告图标,当鼠标停留在该图标时,会出现一个工具提示条显示相关提示信息。
具体步骤如下:
(1) 启动Visual Studio 2005,新建一个C# Windows应用程序项目。
(2) 在程序设计窗体中添加一个GroupBox控件,在属性对话框中设置其Text属性为“用户注册信息”;再拖放4个Label控件,在属性对话框中设置其Text属性分别为“请输入用户名:”、“请输入用户密码:”、“请确认用户密码:”、“用户名和密码长度为6~12位字符或数字”;再拖放3个TextBox控件,在属性对话框中设置其中的2个密码TextBox控件的PasswordChar属性为“*”。调整其大小适应程序设计窗体的大小。
(3) 添加一个ErrorProvider组件,保留其默认属性值即可。
(4) 添加一个Button控件,在属性对话框中设置其Text属性为“确认”。