专业的编程技术博客社区

网站首页 > 博客文章 正文

C#知识|.Net控件二次封装之ComboBox下拉框

baijin 2024-10-24 08:50:50 博客文章 13 ℃ 0 评论

哈喽,你好啊,我是雷工!

前面通过对TextBox文本框进行二次封装,熟悉了.NET控件二次封装的过程

这节继续练习.NET控件的二次封装,这节练习封装的控件是下拉框

下面是练习笔记。

01 效果演示

①本次练习实现功能是当下拉框未选择时,在后面有图标闪烁提示,鼠标移到图标上会显示提示文本:还未选中任何项!


②当正常选择,非未选时,会弹出登录成功;

02 实现步骤

2.1、添加组件类

上节的基础上,这里继续在LeiGongCotrols下添加组件类,命名为【ComBoxExtend】。

2.2、修改继承

首先点击【切换到代码视图】。

然后修改其继承自ComboBox,然后添加引用关系,引用并在命名空间添加上:

using System.Windows.Forms;

2.3、添加 控 件

在工具箱中找到ErrorProvider,拖动到设计视图。

2.4、非 空 验证

这里扩展也以非空验证举例,扩展自带非空验证,当为空时提示符号,和文字;

非空验证的代码如下:

/// <summary>

/// 非空验证

/// </summary>

/// <returns></returns>

public int BeginCheckEmpty()

{

 if(this.SelectedIndex==-1||this.Text.Trim().Contains("请选择"))

 {

this.errorProvider.SetError(this, "还未选择任何选项!");

return 0;

 }

 else

 {

this.errorProvider.SetError(this,"");

return 1;

 }

}

2.5、UI界面

测试界面还是以之前的一个练习项目的登录界面为底,添加扩展的控件;

在之前的界面中添加一项【选择身份】,用来选择是管理员登录还是普通用户登录。

如图将扩展的控件ComboBoxExtend拖到界面中合适的位置。

2.6、登录按钮

在登陆按钮的事件代码中添加上该项的检查

代码如下:

//登录按钮事件

private void btnLogin_Click(object sender, EventArgs e)

{

 int a1 = this.txtAccount.BeginCheckEmpty();

 int a2 = this.txtPwd.BeginCommonValidate("^(?![^a-zA-Z]+$)(?!\\D+$).{8,16}#34;, "密码需包括数字和字母且长度在8-16之间");

 int b = this.comboBoxExtend1.BeginCheckEmpty();

 int result = a1 * a2*b;

 if(result==1)

 {

MessageBox.Show("登录成功!", "雷工提示");

 }

}


03 后记

以上控件的二次封装只是扩展了验证功能,实际项目中可以根据需要进行功能的扩展,主要步骤都是这么个步骤。

对该练习感兴趣,想要拿到源码试试的同学可以直接联系小编获取。

觉得有帮助欢迎点赞+留言+转发,谢谢。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表