①首先要新建一个类库,然后在其中额外新建组件类
②在类库中添加控件命名空间的引用(System.Windows.Forms)
③将基类改为需要继承的控件(如TextBox)
public partial class SuperTextBox : TextBox
④在编辑区拖放errorProvider
⑤编写警告方法并关联错误提示
- public bool CheckEmpty()
- {
- if(this.Text=="")
- {
- this.errorProvider.SetError(this,"不能为空"); //从属的组件,提醒内容
- return true
- }
- else
- {
- this.errorProvider.SetError(this,empty);
- return false;
- }
- }
⑥直接在项目中以普通控件的方法应用即可
同时也必须在函数体中调用CheckEmpty();才能使其生效。
基于上述项目,重新编写验证方法
- public bool BeginCheckData(string regularExpress, string errorMsg)
- {
- if(CheckEmpty() == false)
- return false;
-
- Regex objRegex = new Regex(regularExpress,RegexOptions.IgnoreCase); //忽略大小写
- if(!objRegex.IsMatch(this.Text))
- {
- this.errorProvider.SetError(this,"验证不通过");
- return true
- }
- else
- {
- this.errorProvider.SetError(this,empty);
- return false;
- }
- }
将控件方案生成的.dll代码移动到需要调用的项目之中,然后在工具箱中进行引用