当前位置:网站首页>WinForm的控件二次开发
WinForm的控件二次开发
2022-08-03 04:19:00 【ViperL1】
一、输入栏非空验证
①首先要新建一个类库,然后在其中额外新建组件类
②在类库中添加控件命名空间的引用(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代码移动到需要调用的项目之中,然后在工具箱中进行引用
边栏推荐
猜你喜欢
随机推荐
肖sir_测试点
【翻译】开发与生产中的Kubernetes修复成本对比
【STM32】入门(三):按键使用-GPIO端口输出控制
表的创建、修改与删除
1.一个神经网络示例
8.电影评论分类:二分类问题
Shell编程的条件语句
"Obs" start pushing flow failure: the Output. The StartStreamFailed call process
寄存器(内存访问)
Live | StarRocks technology insider: low base dictionary global optimization
MySQL【约束】
9.新闻分类:多分类问题
解析,强势供应商的管理方法
t conditional judgment statement and if loop
这个困扰程序员50年的问题,终于要被解决了?
社交电商:流量红利已尽,裂变营销是最低成本的获客之道
5.回顾简单的神经网络
mysql bool盲注
Linux-Docker-Redis安装
自组织是管理者和成员的双向奔赴