当前位置:网站首页>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代码移动到需要调用的项目之中,然后在工具箱中进行引用

边栏推荐
猜你喜欢
随机推荐
SkiaSharp 之 WPF 自绘 五环弹动球(案例版)
瑞鹄转债上市价格预测
链动2+1模式简单,奖励结构丰厚,自主裂变?
肖sir_测试点
12.机器学习基础:评估机器学习模型
刚上线就狂吸70W粉,新型商业模式“分享购”来了,你知道吗?
mysql bool blind
MediaRecorder录制屏幕时在部分机型上报错prepare failed:-22
刚上线就狂吸70W粉,新型商业模式“分享购”来了,你知道吗?
肖sir__面试接口测试
C# WPF设备监控软件(经典)-上篇
SMP 需要考虑的事情
汇编题答案
ESP8266-Arduino编程实例-MCP3008-ADC转换器驱动
OSI的分层特点、传输过程与三次握手、四次挥手、tcp与udp包头的描述
The flink sql task is changed, and after adding several fields to the sql, an error occurs when restoring from the previously saved savepoint.
Shell编程的条件语句
7.Keras开发简介
数据库基本概述与SQL概述
2022 Henan Mengxin League Game (4): Zhengzhou University of Light Industry E - Sleep Well









