1. ErrorProvider概述
我们经常使用Windows Forms下的ErrorProvider,这是一个.NET组件,可以在VS IDE的工具栏中找到它。Errorprovider通常用于窗体或控件的用户输入;同时它也是典型的关联型(绑定)的验证控件,用以验证并显示控件关联的数据源如DataSet中存在的错误。ErrorProvider比使用消息框(MessageBox)显示错误信息的效果好,除了摘要中提到的情况外,还因为一旦消息框关闭了错误信息也随之消失,用户可能无法记忆所有的错误内容因而也就无法方便的纠正所有错误从而要多次弹出错误消息框。而ErrorProvider会记录所有的错误并能够准确定位在错误发生的窗体或控件上,显示一个红色图标,当鼠标悬停在该图标上方时还能够自动弹出ToolTip提示以显示错误内容。这样操作人员可以根据错误发生的位置以及具体内容从容的修改错误,直到这些小图标全部消失。
2. ErrorProvider属性
ErrorProvider组件有三个关键的属性:DataSource、ContainerControl和Icon。
- DataSource通常与ContainerControl相关,也就是控件绑定的数据内容,可以是DataTable,DataSet或者自定义的实体等。ErrorProvider会根据DataSource的结构进行其内部的数据验证,当然验证的规则需要开发人员定义。
- ContainerControl正如其名字所言,正是ErrorProvider所依存的容器,通过为其设置适当的容器,通常是Window