1、首先创建类库ClassLibrary1->添加组件TextBoxEx
2、组件TextBoxEx原本是继承自Control,需要改为TextBox,这样才是一个TextBox控件
3、将控件errorProvider添加到组件的设计中
4、最关键的实现,在组件类中添加判断文本是否为空的方法
public int IsEmpty()
{
if (this.Text.Trim().Length == 0)
{
this.errorProvider1.SetError(this, "不能为空"); //this指的就是这个TextBox控件
return 0;
} else {
this.errorProvider1.SetError(this, ""); //清除报警
return 1;
}
}
5、重新生成一遍解决方案就可以看见自己定义的控件了
这样就可以调用该控件的方法了
源码+测试类:weixin_46407807 / 自定义控件,文本框TextBox自带空值报警 · GitCode
除了验证空,还可以使用正则表达式进行各种验证
在下拉列表控件ComboBox也是一样(SelectedIndex==-1是没有选择)