如何使用 ErrorProvider 对象指示控件状态无效






3.16/5 (15投票s)
2001年1月11日

177606

3518
一篇关于如何使用 C# 将 ErrorProvider 对象集成到 .NET WinForms 中的教程
在每个 GUI 应用程序中,用户很可能会输入一些无效数据或执行某些操作,从而使控件的状态无效。应用程序可以通过几种方式向用户指示控件的状态无效,并且需要在继续操作之前解决问题。第一种方法是我们常用的 MessageBox
弹出窗口。您可以在弹出对话框中显示原因和补救措施。第二种方法是使用 ErrorProvider
对象。您可以将此控件附加到任何您想要添加验证逻辑的控件。ErrorProvider
提供了一个简单的用户界面,用于向用户指示窗体上的控件存在错误。如果为控件指定了错误描述字符串,则控件旁边将出现一个图标。当鼠标悬停在图标上时,将出现一个工具提示,显示错误描述字符串。
如何使用 ErrorProvider
在您的应用程序中使用 ErrorProvider
对象非常简单。创建此控件对象的实例,然后分配您希望此控件拥有的属性。您可以为 ErrorProvider
对象设置以下属性。
BlinkRate
– 这是错误图标闪烁的速率,以毫秒为单位。此属性可以具有诸如AlwaysBlink
或BlinkIfDifferentError
或NeverBlink
之类的值。Icon
- 当为控件设置了错误描述字符串时,显示在控件旁边的图标。IconAlignment
- 错误图标相对于控件应放置的位置。IconPadding
- 设置错误图标旁边要保留的额外空间量。
还有一些可以操作的属性,但上述属性是最常用的。下面的代码展示了如何实现这一点。有关详细实现,请参阅本文提供的源文件。
protected ErrorProvider m_errProvider; m_errProvider = new ErrorProvider (); m_errProvider.BlinkStyle = ErrorBlinkStyle.AlwaysBlink; m_errProvider.SetIconAlignment (this, ErrorIconAlignment.MiddleRight); m_errProvider.SetIconPadding (this, 2);
每当您发现某个控件的状态无效时,请使用 ErrorProvider
对象上的 SetError
方法在该控件旁边显示图标。
if (!IsValidText (box.Text)) { m_errProvider.SetError (this, "Only integer values allowed"); } else { m_errProvider.SetError (this, ""); }
如果错误字符串为空,则 ErrorProvider
图标将被隐藏,否则图标将显示在指定的位置。SetError
方法的第一个参数是您要附加 ErrorProvider
图标的控件对象。第二个参数是当用户将鼠标移动到闪烁的图标上时将显示的工具提示文本。
本文附带的演示项目包含两个编辑框。一个配置为输入双精度数据,第二个配置为输入整数数据。每当您尝试在这些编辑框中输入字母时,一个图标将开始在编辑框的右侧闪烁。您可以将鼠标移动到闪烁的图标上以查看消息。
有关实现的更多详细信息,请参阅本文随附的源文件。有关 ErrorProvider
对象的详细信息,请参阅 .NET SDK 在线帮助。