c#自定义控件开发

c#自定义控件开发

ID:14840024

大小:1.69 MB

页数:13页

时间:2018-07-30

c#自定义控件开发_第1页
c#自定义控件开发_第2页
c#自定义控件开发_第3页
c#自定义控件开发_第4页
c#自定义控件开发_第5页
资源描述:

《c#自定义控件开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、自定义控件开发一般而言,VisualStudio2005中自带的几十种控件已经足够我们使用了,但是,在一些特殊的需求中,可能需要一些特殊的控件来与用户进行交互,这时,就需要我们自己开发新的、满足用户需求的控件。(源码网整理:dotnet.5d6d.com)要开发自己的控件,有几种方法:复合控件(CompositeControls):将现有的各种控件组合起来,形成一个新的控件,来满足用户的需求。扩展控件(ExtendedControls):就是在现有的控件基础上,派生出一个新的控件,增加新的功能,或者修改原有功能,来满足用户需求。自定义控件(CustomControls

2、):就是直接从System.Windows.Forms.Control类派生,也就是说完全由自己来设计、实现一个全新的控件,这是最灵活、最强大的方法,但是,对开发者的要求也是最高的。要实现一个自定义控件,必须为Control类的的OnPaint事件编写代码,在OnPaint事件中实现自定义控件的绘制工作。同时,还可以重写Control类的WndProc方法,来处理底层的Windows消息。所以说,要实现一个自定义控件,对开发者的要求较高,要求开发者必须了解GDI+和WindowsAPI的知识。下面我们就分别给大家介绍这三种方法。复合控件(CompositeContro

3、ls)复合控件实际上是控件的集合,类似于堆积木。因此,可以按照用户的需求,把VS2005工具箱中的控件任意组合起来,形成一个复合控件。在以后使用中,将生成的这个复合控件作为一个控件来对待。复合控件一般都是从UserControl类派生而来,因此复合控件(用户控件)可以在“UserControl测试容器”中进行测试。复合控件的创建步骤:第一步:新建一个Windows控件库项目“CompositeControlDemo”第二步:向复合控件中添加VisualStudio2005中的控件组合。添加了一个Label控件和Timer控件。Label控件的Text属性设置为””,T

4、imer控件的Interval属性设置为1000毫秒,即1秒,同时,将Enabled属性设置为True。设置Timer控件的Tick事件,并添加代码第三步:向复合控件添加属性我们添加了一个前景色和背景色属性。第四步:生成复合控件直接按F5,或者点击“生成”菜单,选择其中的“生成解决方案”菜单向,就可以生成复合控件。我们可以看到,生成的复合控件是以.dll文件的形式存在的。第五步:把复合控件显示在工具箱中,并设置相应图标1.把复合控件显示在工具箱中2.设置复合控件在工具箱中的图标这里,我们可以看到,复合控件被加入到工具箱中了,但是使用一个默认的图标显示的(小齿轮),要在

5、工具箱中显示一个我们自定义的图标有两种方法,这里我们先讲第一种。[ToolboxBitmap(typed(Button))]第六步:测试复合控件其实,当我们直接按F5生成复合控件时,会弹出一个“用户控件测试容器”,在这个容器中,显示了我们的复合控件MyDigitalClock的运行情况,同时在其右侧,还有一个属性窗口,通过改变属性窗口中的属性设置,就可以改变复合控件的相应状态。比如,我们修改一下ClockBackColor属性和ClockForeColor属性(即设置一下背景色和前景色),可以看到,MyDigitalClock控件的样子发生了变化。上面是通过“用户控件

6、测试容器”来对复合控件进行测试,实际上,我们还可以通过创建一个新的Windows项目来对复合控件进行测试。1.新建一个测试项目“TestCompositeControls”。2.将复合控件“MyDigitalClock”添加到窗体中3.设置MyDigitalClock控件的属性4.按F5运行,观察窗体中的MyDigitalClock控件。扩展控件(ExtendedControls):就是在现有的控件基础上,派生出一个新的控件,增加新的功能,或者修改原有功能,来满足用户需求。扩展控件保留了原来控件的界面、属性、方法,同时还可以扩展原有控件功能,实现新的功能,满足用户需求

7、。(源码网整理:dotnet.5d6d.com)扩展控件可以在两方面进行扩展:1.扩展用户界面,界面上有所变化,使界面更好看。界面上要有所变化,就要重载OnPaint方法,对原有控件的界面进行重新绘制。2.扩展功能,功能上有所加强。功能上有所加强就是指增加新的功能,满足用户需求。创建扩展控件的步骤:第一步:新建一个类库项目第二步:添加引用和继承比如我们要扩展Button控件,就要添加包含Button控件的程序集System.Windows.Forms同时,继承自System.Windows.Forms.Button第三步:重载OnPaint方法,扩展

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。