温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#怎么创建自定义控件及添加自定义属性和事件

发布时间:2020-07-23 17:15:59 来源:亿速云 阅读:609 作者:小猪 栏目:编程语言

这篇文章主要为大家展示了C#怎么创建自定义控件及添加自定义属性和事件,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。

前言

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

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

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

C#怎么创建自定义控件及添加自定义属性和事件       

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

C#怎么创建自定义控件及添加自定义属性和事件

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

C#怎么创建自定义控件及添加自定义属性和事件

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

C#怎么创建自定义控件及添加自定义属性和事件

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

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

C#怎么创建自定义控件及添加自定义属性和事件

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

C#怎么创建自定义控件及添加自定义属性和事件       

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

C#怎么创建自定义控件及添加自定义属性和事件

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

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

C#怎么创建自定义控件及添加自定义属性和事件

C#怎么创建自定义控件及添加自定义属性和事件

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

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

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

C#怎么创建自定义控件及添加自定义属性和事件

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

C#怎么创建自定义控件及添加自定义属性和事件

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

C#怎么创建自定义控件及添加自定义属性和事件

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

以上就是关于C#怎么创建自定义控件及添加自定义属性和事件的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI