C#创建自定义控件及添加自定义属性和事件使用实例详解

所属分类: 软件编程 / C#教程 阅读数: 84
收藏 0 赞 0 分享

前言

C#本身提供了很强大的控件库,但是很多控件库的功能只是一些基本的功能,就比如最简单的按钮,C#提供了最基础的按钮使用方法,但是如果要增加一些功能,比如按钮按下要一个图片,弹起要另一个图片这样的工作。当然,我们可以对相关按钮在点击函数中进行更改其背景图片,但是这对于大量的按钮调用来说十分不方便,代码重用率相当的高,会导致使用上的卡顿,在这种情况下,我们可以将这个功能封装起来,这样每次调用起来就很方便,也节省了代码的重用率。

那么如何将上述的那么一个简单的功能封装起来呢,我们首先考虑到的便是按键的属性,我们可以在相关按键中添加新的属性来完成这一步操作。

首先先建立一个用户类库:

       

然后再该类库下添加一个新的组件:

在组件中我们需要首先继承Button类

然后需要添加新的属性供新的控件使用,这里我们添加四个属性:1、按钮按下的图片 2、按钮开启时的图片 3、按钮关闭时的图片 4、该按钮是单次点击型还是开光状态型的模式选择。

在该部分,首先需要定义存储默认状态的量,如上图所示,存储各个图片的默认值为null。Description参数为属性的说明注释,Category属性为当前该属性所属的类,下面定义的函数为将用户选择的参数进行返回和获取的一个过程,用户定义的属性名即函数名。

函数体为常见的{get;set;}形式:

该部分将用户选择的参数赋值给之前定义的图片文件,至此为止属性已经简单的添加完毕,如将该文件编译得到的dll文件导入库中进行使用,我们会发现,拖出来的按钮控件下面已经多了上面定义的所有属性。

       

但是这些属性还并没有用,只是简单的进行了赋值,要让这些属性进行动作,需要在按钮中添加新的事件。这里我们添加了两个事件,一个是鼠标按下的事件,还有一个鼠标弹起的按键:

上面的部分就是简单的一些按钮属性设置,比如将按钮背景变透明之类的。

添加的新的事件中,我们需要对按钮的相应动作进行相应,在按下时获得按下时的图片,在弹起时获得弹起时的图片即可。

这里buttonflag为定义的一个public变量,用户可以在使用Click事件中判断是否开启成功,若没有开启成功可以将该变量置为原来的值,按钮相应的也不会发生变化。

state用来判断该按钮是否是单次点击的按钮,如果是,那弹起时还是原来的图片。有些按键没有按下时的图片,也不予变化。

至此为止,一个新的封装已经制作完毕,将该文件编译为dll并加载到工程中就能看到效果了,下面是测试效果图:

这是一个带按下动画的按钮。

这是一个不带按下动画的按钮。

这是一个单次点击的按钮。

更多精彩内容其他人还在看

C#获取并修改文件扩展名的方法

这篇文章主要介绍了C#获取并修改文件扩展名的方法,实例分析了C#编程方式修改文件扩展名的技巧,涉及Path类的使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

C#遍历操作系统下所有驱动器的方法

这篇文章主要介绍了C#遍历操作系统下所有驱动器的方法,涉及C#中DriveInfo类GetDrivers方法的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#遍历指定目录下所有文件的方法

这篇文章主要介绍了C#遍历指定目录下所有文件的方法,实例分析了C#中GetFiles()方法遍历文件的使用技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#拷贝文件简单实现方法

这篇文章主要介绍了C#拷贝文件简单实现方法,主要分析了FileInfo类中CopyTo方法针对文件复制的操作技巧,非常简单实用,需要的朋友可以参考下
收藏 0 赞 0 分享

C#获取文件相关信息的方法

这篇文章主要介绍了C#获取文件相关信息的方法,涉及C#中FileInfo类的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#交错数组用法实例

这篇文章主要介绍了C#交错数组用法,较为详细的分析了交错数组的概念、用法并实例分析了交错数组的使用技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

C#实现在前端网页弹出警告对话框(alert)的方法

这篇文章主要介绍了C#实现在前端网页弹出警告对话框(alert)的方法,涉及C#通过自定义函数调用window.alert方法弹出对话框的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#实现控制Windows系统关机、重启和注销的方法

这篇文章主要介绍了C#实现控制Windows系统关机、重启和注销的方法,涉及C#调用windows系统命令实现控制开机、关机等操作的技巧,非常简单实用,需要的朋友可以参考下
收藏 0 赞 0 分享

C#读取Excel并转化成XML的方法

这篇文章主要介绍了C#读取Excel并转化成XML的方法,实例分析了C#操作Excel及XML文件的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C#创建一个Word并打开的方法

这篇文章主要介绍了C#创建一个Word并打开的方法,实例分析了C#操作word的常用技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多