您所在位置: 网站首页 / C# Use define Controls library spec.doc / 文档详情
C# Use define Controls library spec.doc 立即下载
2024-08-25
约6.7千字
约8页
0
61KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

C# Use define Controls library spec.doc

C#UsedefineControlslibraryspec.doc

预览

免费试读已结束,剩余 3 页请下载文档后查看

18 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

CEControlslibraryDevelopspec
一.C#自定义控件开发概述
基控件类
Control类是Windows窗体控件的基类。它提供了在Windows窗体应用程序中进行可视显示所需的基础结构。
Control类执行下列任务:
1)公开窗口句柄。
2)管理消息路由。
3)提供鼠标和键盘事件,以及许多其他用户界面事件。
4)提供高级布局功能。
5)包含特定于可视显示的许多属性,如ForeColor、BackColor、Height和Width。
6)为Windows窗体控件充当MicrosoftActiveX控件提供必需的安全和线程支持。
由于基类提供了很多基础结构,使得开发自己的Windows窗体控件变得相对简单。

控件的种类及适用情况
Windows窗体支持三种用户定义的控件:复合、扩展和自定义。

1)复合控件是封装在公共容器内的Windows窗体控件的集合。
在下列情况下,从UserControl类继承:
要将若干个Windows窗体控件的功能合成一个可重新使用的单元。

2)扩展控件是从任何现有的Windows窗体控件继承。
处于下列情况时继承Windows窗体控件:
1.大多数所需的功能已经与现有的Windows窗体控件相同。
2.不需要自定义图形用户界面,或者想为现有控件设计一个新的图形用户界面。

3)自定义控件是通过从Control继承头开始创建一个控件。Control类提供控件所需的所有基本功能(包括鼠标和键盘处理事件),但不提供控件特定的功能或图形界面。
若要实现自定义控件,必须编写该控件的OnPaint事件的代码,以及所需的任何功能特定的代码。还可以重写WndProc方法并直接处理窗口消息。
在下列情况下,从Control类继承:
1.想要提供控件的自定义图形化表示形式。
2.需要实现无法从标准控件获得的自定义功能。

二.资源管理
图形对象非常昂贵,它们占用很多系统资源,应该仅在需要时才创建图形资源,并在使用完毕后立即将其释放.(Graphics,Brush,Pen,等)
所有的资源应尽可能在使用时才创建,使用结束之后手动释放。除非此资源要重复使用。
SolidBrushbrush3=newSolidBrush(this.ForeColor);
//dosomethingwiththisbrush
brush3.Dispose();
1.不包含托管资源时的资源释放
///<summary>
///Cleanupanyresourcesbeingused.
///</summary>
protectedoverridevoidDispose(booldisposing)
{
if(disposing)
{
if(components!=null)
{
components.Dispose();
}
				//Releaseothermanageresources
}
base.Dispose(disposing);
}
包含非托管资源的资源释放
StaticHandleforIOhandle(打开一次,同步使用)Relay,Modbus,IPCam等。
请参考清理非托管资源->实现Dispose方法
3.打包资源。如字符串(多语言管理)等

三.在“自定义工具箱”对话框中显示控件
1.将控件程序集安装到全局程序集缓存中。有关附加信息,请参见如何:将程序集安装到全局程序集缓存
2.修改注册表
在HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\v2.0.x\AssemblyFoldersEx\PublicAssemblies\<KeyName>处创建注册表项,并将“默认”字符串值设置为您的程序集所在的文件位置。<KeyName>可以是您希望设置的任何值。
在VisualStudio.NET2003中,此注册表项应该在HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\7.1\AssemblyFolders\<KeyName>处创建。
在VisualStudio.NET2002中,此注册表项应该在HKEY_LOCAL_MACHINE\Software\Microsoft\.NET\AssemblyFolders\<KeyName>处创建。

四.控件要素
1.将属性应用于控件的属性
Category、Description、Editor、DefaultValue
如果属性不具有简单的默认值,则可以为属性提供可选方法ShouldSerialize和Reset。如果属性(Property)具有简单的默认值,则应用DefaultValueAttribute
设计器可使用ShouldSerial
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

C# Use define Controls library spec

文档大小:61KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用