控件与组件的区别(Control&Component的区别)
控件与组件的区别(Control&Component的区别)
一般把Control翻译成控件,把Component翻译成组件。 因此,控件是组件的一个主要样本(并且历史上曾驱动着组件的开发),控件又不仅仅是唯一的一种组件。组件不需要显示任何信息或用户界面。组件可能实现科学计算,收集性能数据,计算1971年1月1日到现在的毫秒数,仰或是读取布什总统竞选活动保险箱里的美金数。 C# Code:
// in CMyControl [Category(S"Appearance")] [Description(S"Specifies widget foreground color.")] _property Color get_ForeColor() { ... } _property void set_ForeColor(Color value) { ... }
Figure 5 显示了.NET框架中的类层次结构,它能说明上述讨论的问题。正如你所看到的,Control 从Component 派生而来。这是用另外一种方式来说明控件即组件(反之则不然)。更具体地讲,控件是一个用用户界面的组件——能绘制东西并能与用户交互。Control 类还是所有托管窗口类的基类——窗体、按钮、栅格、面板、工具栏等等。Control 类是定义 WndProc 和 ClientSize 以及所有标准窗口事件如 GotFocus 和 Click 的地方。Web控件(System.Web.UI.Control)也是组件,不过从严格的意义上讲,它不是从 System.ComponentModel.Component 派生的。(对于 Web 控件,其名字空间为 System.Web.UI,Control 本身实现 IComponent。) 除了实现 IComponent 之外,System.ComponentModel.Component 还提供了所有组件需要的列集支持,但它是通过从 MarshalByRefObject 派生来实现的。如果想生成一个值列集组件,可以从 MarshalByValueComponent 派生(它实现了 IComponent,IDisposable 和 IServiceProvider)。System.Data.DataColumn,DataSet 和 DataTable 都是是值列集组件的例子。这些对象跨机器/进程边界传递其实际数据。 如果你正在编写其他人也能用窗体设计器拖拽到其窗体的可重用的小组件,那么你必须从 Component 派生。如果你的小组件还具备用户界面——能创建窗口,绘画或与用户交互——那么就应该从 Control 派生。 扫一扫加作者微信
参考文档:
C#.Net前台线程与后台线程的区别 使用Dock.Fill控件被遮挡解决方法(将被遮挡的组件设置为顶层既可解决) IIS7 经典模式和集成模式的区别 frmBaseDataForm增加SetControlEnable方法-设置容器内的控件可用状态 关于NavBarControl点击ExpandButton缩放后不能控制Dock组件的问题 解决frmMain窗体的Dock组件根据NavBarControl自动同步缩放 Application.ExitThread,Application.Exit的区别 DevExpress GridControl组件的EmbeddedNavigator属性添加用户自定义按钮 DevExpress RibbonControl控件隐藏页头(Page Header)以及工具条(Toolbar) ASP.NET ASPX 页面CodeFile与CodeBehind的区别 DevExpress Winform 采用GridControl表格组件开发的会计凭证控件(C#源码) DevExpress RibbonControl组件实现右键弹出菜单(PopupMenu) Winform界面布局控件太多没有出现滚动条XtraScrollableControl组件使用 .NET Framework V4.0版本经典模式和集成模式的区别 - 阿里云虚拟主机.NET版本设置 Winform开发框架代码生成器 - 支持生成输入组件自适应窗体(LayoutControl)
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |