精华内容
下载资源
问答
  • c#组件和控件区别 2017年10月01日⁄ 综合⁄ 共 662字 ⁄ 字号小中大⁄评论关闭 在.NET中有组件控件和用户控件。其实从字面上已经可以理解各自的不同了。 但是具体关系其实是从类的继承上来区别的。一般控件派...

    c#组件和控件的区别

    2017年10月01日 ⁄ 综合 ⁄ 共 662字 ⁄ 字号 小 中 大 ⁄ 评论关闭

    在.NET中有组件、控件和用户控件。其实从字面上已经可以理解各自的不同了。
    但是具体关系其实是从类的继承上来区别的。一般控件派生于:Control类,所以从此类派生出的称之为控件。

    一般组件派生于:Component类,所以从此类派生出的称之为组件。
    一般用户控件派生于:UserControl类,所以从该类派生出的称之为用户控件。
     

    (我们之所以这么叫其实是因为英文翻译上的习惯)
    他们之间的关系主要是:UserControl继承Control继承Component。
    但是具体在用时有什么区别呢?这主要是从设计的角度去考虑的。
               
    组件和一般类的区别:我们总是习惯于面向对象的设计方式。
    而对象则是由类实例化而来。
    我们强调万事万物皆对象,把对象看作设计的基本单元。

    所谓组件其实是面向组件的设计方式,我们把组件作为设计的基本单元。
    组件即为程序的组成部分。
    其实是构成程序的一个最基本的单元。
    一个组件其实可以包括多个类。
    这与传统的面向对象的设计方式有点区别。
    算是更高一层的封装。


    而控件和用户控件其实是组件按照具体的用途的一种划分,它们都是组件。

    控件的突出特点就是交互式组件。

    而用户控件则是将某些特定的组件或控件复合从而实现特定的业务功能。

    所以用户控件往往是从业务角度来设计的。
              其实,程序设计现在已经不在是简单的面向对象。
            从以往的面向过程到
            面向对象
            面向组件
            面向服务
            面向方向

    展开全文
  • c#组件和控件区别

    千次阅读 2013-07-27 21:30:18
    在.NET中有组件控件和用户控件。其实从字面上已经可以理解各自的不同了。但是具体关系其实是从类的继承上来区别的。一般控件派生于:Control类,所以从此类派生出的称之为控件。一般组件派生于:Component类,所以...
                  在.NET中有组件、控件和用户控件。其实从字面上已经可以理解各自的不同了。但是具体关系其实是从类的继承上来区别的。一般控件派生于:Control类,所以从此类派生出的称之为控件。一般组件派生于:Component类,所以从此类派生出的称之为组件。一般用户控件派生于:UserControl类,所以从该类派生出的称之为用户控件。(我们之所以这么叫其实是因为英文翻译上的习惯)他们之间的关系主要是:UserControl继承Control继承Component。
    
                但是具体在用时有什么区别呢?这主要是从设计的角度去考虑的。
                组件和一般类的区别:我们总是习惯于面向对象的设计方式。而对象则是由类实例化而来。我们强调万事万物皆对象,把对象看作设计的基本单元。
    所谓组件其实是面向组件的设计方式,我们把组件作为设计的基本单元。组件即为程序的组成部分。其实是构成程序的一个最基本的单元。一个组件其实可以包括多个类。这与传统的面向对象的设计方式有点区别。算是更高一层的封装。
               而控件和用户控件其实是组件按照具体的用途的一种划分,它们都是组件。控件的突出特点就是交互式组件。而用户控件则是将某些特定的组件或控件复合从而实现特定的业务功能。所以用户控件往往是从业务角度来设计的。
              其实,程序设计现在已经不在是简单的面向对象。
            从以往的面向过程到
            面向对象
            面向组件
            面向服务
            面向方向
    展开全文
  • 组件和控件

    2014-05-04 13:56:05
    一般把Control翻译成控件,...从概念上讲,这些窗口——控件——类似用来操作收音机或小电器的旋钮按钮。随着控件数量的增加(组合框、日期时间控件等等),控件逐渐成为子窗口的代名词,无论是用在对话框中还是用在
    一般把Control翻译成控件,把Component翻译成组件。 
    控件就是具有用户界面的组件。要说的具体一点,就得回顾早期 Windows 的历史根源,当时控件指任何子窗口——按钮、列表框、编辑框或者某个对话框中的静态文本。从概念上讲,这些窗口——控件——类似用来操作收音机或小电器的旋钮和按钮。随着控件数量的增加(组合框、日期时间控件等等),控件逐渐成为子窗口的代名词,无论是用在对话框中还是用在其它种类的主窗口中。没过多久 BASIC 程序员开始编写他们自己专用的控件,自然而然地人们便想到共享这些控件。共享代码的方法之一是通过磁盘拷贝,但那样显然效率低下。必须要有一种机制使开发者建立的控件能够在其它程序员的应用中轻而易举地插入,这便是VBA控件,OLE控件,OCX和最后ActiveX 控件的动机
    这就是控件和组件之间产生混淆之所在。因为为了解决控件的可复用问题,所有这些技术必须首先解决更为一般的组件重用问题。(COM,如果你还记得它的话,意思是组件对象模型)。在软件行话中,组件这个术语指任何可复用的对象或任何可与其它对象交互的代码体。子程序的发明,曾经一度成为程序员趋之若鹜软件工程圣杯:一种统一的编程理论,它使程序员从基本构建块——也就是用所选语言编写的各种组件建立大型系统。从子程序演变到OOP,到DLLs,再到COM,再到.NET框架的每一种新的编程范例都代表了一种不同的提供可重用性的方案。VBX使用DLLs的固化名称。COM使用接口和IUnknown。.NET框架使用微软的中间语言(MSIL)层和公共语言运行时(CLR)来提供统一的粘合。 
    
    因此,控件是组件的一个主要样本(并且历史上曾驱动着组件的开发),控件又不仅仅是唯一的一种组件。组件不需要显示任何信息或用户界面。组件可能实现科学计算,收集性能数据,计算1971年1月1日到现在的毫秒数,仰或是读取布什总统竞选活动保险箱里的美金数。 
    展开全文
  • 本主题对组件和控件进行了定义;此处进行的讨论可以帮助您决定何时实现一个是组件控件的类。 说明本主题介绍 Windows 窗体 ASP.NET 类。 Control Authoring Overview." xml:space="preserve">此处进行的讨论不...

    本主题对组件和控件进行了定义;此处进行的讨论可以帮助您决定何时实现一个是组件或控件的类。

    说明 说明

    本主题介绍 Windows 窗体和 ASP.NET 类。  此处进行的讨论不适用于 WPF 类。有关创作 WPF 控件的信息,请参见控件创作概述

    以下列表为实施者提供了全面的指南。

    • 如果您的类使用外部资源但不用于设计图面,则实现 IDisposable,或者从直接或间接实现 IDisposable 的类派生。

    • 如果您的类要用于设计图面(如 Windows 窗体或 Web 窗体设计器)上,则实现  IComponent,或者从直接或间接实现  IComponent 的类派生。  请注意,IComponent 扩展 IDisposable,因此 IComponent 类型始终是 IDisposable 类型。 与不是 IComponent 的 IDisposable 类型相比,IComponent 类型的性能系统开销要小。但这一不足通常可由在设计时和运行时安置 IComponent 的能力来弥补。 (在本主题的后面部分将对该安置功能进行说明)。

    • 如果您需要一个可设计(可在设计图面上使用)并且可按引用封送的类,则可从  Component 派生。  Component 是按引用封送的 IComponent 类型的基实现。

    • 如果您需要一个可按值封送的可设计类,则可从  MarshalByValueComponent 派生。  MarshalByValueComponent 是按值封送的 IComponent 类型的基实现。

    • 如果希望向对象模型层次中引入 IComponent 类型,但由于单次继承的原因而不能从 Component 或 MarshalByValueComponent 之类的基派生,请实现 IComponent

    • 如果需要提供用户界面的可设计类,则该类是控件。  控件必须从以下基本控件类之一直接或间接派生:Control 或 Control

      说明 说明

      如果您的类既不是可设计类,也不保存外部资源,则不需要 IComponent 或 IDisposable 类型。

    下面是组件、控件、容器和站点的定义。

    在 .NET Framework 中,组件是一种类,它实现  IComponent 接口或者直接或间接地从实现  IComponent 的类派生。  在编程中,“组件”这个术语通常用于可重复使用并且可以和其他对象进行交互的对象。 .NET Framework 组件满足这些一般要求,另外还提供诸如控制外部资源和设计时支持等功能。

    IComponent 接口扩展  IDisposable 接口,后者在其协定中有一个名为  Dispose 的方法。  在其 Dispose 方法实现中,组件必须显式释放外部资源。 与垃圾回收过程中发生的默认、不确定的清理相比,这提供了一个确定的方法来释放资源。 开发人员必须在整个包容层次结构中传播的 Dispose确保元素的子级同时释放资源。 另外,派生的组件必须调用其基类的 Dispose 方法。

    说明 说明

    即使通过 Dispose 提供对资源的显式控制,也应该始终通过终结器(析构函数)提供隐式清理,以防用户未能对您的组件调用 Dispose 时资源永久泄漏。

    下面的示例显示了在基组件和在派生的组件中实现 Dispose 的方式。

    C#
    VB
    public class BaseComponent : IComponent {
    
       // IComponent extends IDisposable.
       public void Dispose() {
            Dispose(true);
         GC.SuppressFinalize(this); 
          }
    
       protected virtual void Dispose(bool disposing) {
          if (disposing) {
              // Free other state (managed objects).
          }
          // Free your own state (unmanaged objects).
       }
    
       // Simply call Dispose(false).
          ~BaseComponent(){
          Dispose (false);
       }
    }
       
    // Derived component.
    public class DerivedComponent : BaseComponent {
       
       protected override void Dispose(bool disposing) {
          if (disposing) {
          // Free other state.
          }
          // You must invoke the Dispose method of the base class.
          base.Dispose(disposing);
          // Free your own state.
          ...
       }
       // No finalizer/destructor.
       // No Dispose() method.
    }
    
       
    

    在 .NET Framework 中,组件的一个重要功能就是它们是可设计的,这意味着作为组件的类可用于快速应用程序开发 (RAD) 环境(如 Visual Studio)中。  可将组件添加到 Visual Studio 的工具箱中,也可将组件拖放到某个窗体上,还可以在设计图面上对组件进行操作。 请注意,对 IComponent 类型的基本设计时支持已经内置于 .NET Framework 中;组件开发人员无须进行额外的工作就可利用基本设计时功能。

    有关设计时支持的更多信息,请参见 组件的设计时特性) 和 扩展设计时支持

    组件可以被放置(承载)在一个容器(本主题稍后部分进行了定义)中。  当组件被放置后,它通过其站点(本主题稍后部分进行了定义)与容器进行交互并能够通过站点从其容器查询并得到服务。 为了确保资源在容器被拆卸后释放,容器必须实现 IDisposable 接口。 在其 Dispose 方法的实现中,容器必须释放它保留的所有资源,并调用它包含的每个组件的 Dispose 方法。

    包容是逻辑上的,不需要可视的表示形式。  放置数据库组件的中间层容器就是非可视包容的一个示例。 可在 Visual Studio 的 Windows 窗体设计器和 Web 窗体设计器中找到可视包容。 可视化设计图面是承载窗体组件(Web 窗体中的页组件)的容器。

    组件可以是可远程控制的或不可远程控制的。  可远程控制的组件由引用或值进行封送。 封送操作涉及跨边界发送对象,这些边界包括应用程序域(轻量进程)、进程甚至计算机,等等。 当对象由引用封送时,会创建一个代理对该对象进行远程调用。 当对象由值进行封送时,跨相关边界发送该对象的一个序列化的副本。

    以下可远程控制的组件应该由引用封送:封装系统资源的可远程控制组件,较大的可远程控制组件或作为单个实例存在的可远程控制组件。  按引用封送的组件的基类是 Component 该基类实现 IComponent 并从 MarshalByRefObject 派生。 .NET Framework 类库中的许多组件从 Component 派生,包括 Control(Windows 窗体控件的基类)、WebService(使用 ASP.NET 创建的 XML Web services 的基类)和 Timer(生成递归事件的类)。

    仅保留状态的可远程控制组件应该由值封送。  按值封送的组件的基类是 MarshalByValueComponent 该基类实现 IComponent 并从 Object派生。 .NET Framework 类库中只有少量组件从 MarshalByValueComponent 派生。 所有此类组件都在 System.Data 命名空间中(DataColumnDataSetDataTableDataView 和 DataViewManager)。

    说明 说明

    按值和按引用封送的对象的基类分别是  Object 和  MarshalByRefObject,但对应的派生类名为  MarshalByValueComponent 和  Component。  命名方案背后的逻辑是越常用的类型,其名称就越简单。

    如果不对组件进行远程控制,则不要从 Component 的基实现派生,而应直接实现 IComponent

    控件是提供(或实现)用户界面 (UI) 功能的组件。  .NET Framework 为控件提供两个基类:一个用于客户端 Windows 窗体控件,另一个用于 ASP.NET 服务器控件。 它们是 Control 和 Control .NET Framework 类库中的所有控件都直接或间接从这两个类派生。 Control 从 Component 派生,本身提供 UI 功能。 Control 实现 IComponent,并提供可在其上轻松添加 UI 功能的基础结构。

    说明 说明

    每个控件都是一个组件,但并不是每个组件都是控件。

    如果您正在为 Windows 窗体或 Web 窗体页(ASP.NET 页)开发组件和控件,则不需要实现容器或站点。  Windows 窗体和 Web 窗体的设计器就是 Windows 窗体和 ASP.NET 服务器控件的容器。 容器向放置在其中的组件和控件提供服务。 在设计时,控件放置在设计器中并从设计器获得服务。 为了保持完整性,以下给出了容器和站点的定义。

    Container

    容器是一个实现  IContainer 接口的类,或从实现该接口的类派生的类。  容器在逻辑上包含一个或多个组件,这些组件叫做容器的子组件。

    Site

    站点是一个实现  ISite 接口的类,或从实现该接口的类派生的类。  站点由容器提供,用来管理其子组件及与子组件进行通信。 通常,容器和站点作为一个单元来实现。

    展开全文
  • 我理解的组件和控件区别

    千次阅读 2007-05-24 11:24:00
    组件: 组成的件 . ------- ---汽车上的螺丝嘎达。控件: 控制的件。 -----------方向盘。 再转载下别人的贴:第一位牛人:控件...从概念上讲,这些窗口——控件——类似用来操作收音机或小电器的旋钮按钮。随
  • 组件和控件的区分

    千次阅读 2012-08-03 15:14:49
    在编程领域内,组件其实就是一个可以复用并可以其它对象交互的对象,而控件就是一个提供或实现了图形界面的组件控件通常是指设计时所见即所得、运行时处理图形显示接受用户交互输入的那些组件。 当你...
  • 答:组件是指可重复使用并且可以其他对象进行交互的对象。组件(component)是靠类实现的。控件(Control)是能够提供用户界面接口(UI)功能的组件。换句话说就是,控件是具有用户界面功能的组件。ITKeys.cn 讲出困惑 ...
  • C#中组件控件的主要区别是什么

    千次阅读 2016-05-21 11:00:23
    答:组件是指可重复使用并且可以其他对象进行交互的对象。组件(component)是靠类实现的。控件是能够提供用户界面接口(UI)功能的组件。换句话说就是,控件是具有用户界面功能的组件。   System.Windows.Form....
  • 组件控件

    千次阅读 2018-07-18 20:26:09
    在.NET中有组件控件和用户控件。其实从字面上已经可以理解各自的不同了。但是具体关系其实是从类的继承上来区别的。一般控件派生于:Control类,所以从此类派生出的称之为控件。一般组件派生于:Component类,所以...
  • .net组件和控件(A)

    千次阅读 2008-03-06 10:18:00
    DotNetBar是一套Visual Studio.Ne开发环境下的界面扩展框架组件,提供类似Office 2003OfficeXP的菜单工具条、OfficeXP任务面板、自动隐藏并可拆分的标签式的可停靠窗口、Windows XP风格的气泡控件、多功能面板...
  • (转)吐血收集的.net组件和控件

    千次阅读 2009-06-16 09:31:00
    DotNetBar是一套Visual Studio.Ne开发环境下的界面扩展框架组件,提供类似Office 2003OfficeXP的菜单工具条、OfficeXP任务面板、自动隐藏并可拆分的标签式的可停靠窗口、Windows XP风格的气泡控件、多功能面板...
  • .NET组件控件

    千次阅读 2013-11-16 08:58:25
    DotNetBar是一套Visual Studio.Ne开发环境下的界面扩展框架组件,提供类似Office 2003OfficeXP的菜单工具条、OfficeXP任务面板、自动隐藏并可拆分的标签式的可停靠窗口、Windows XP风格的气泡控件、多功能面板...
  • .net组件控件

    千次阅读 2008-12-03 15:25:00
    .net组件和控件 DevExpress DotNetBar V4.7DevExpress DotNetBar V4.7 注册机DotNetBar是一套Visual Studio.Ne开发环境下的界面扩展框架组件,提供类似Office 2003OfficeXP的菜单工具条、OfficeX
  • 基于.NET Framework2.0以上版本的视频设备交互组件。该组件以控件的的形式封装了对摄像头等视频设备的交互。推荐使用组件包中的CameraViewControl控件!
  • 吐血收集的.net组件和控件(A)

    千次阅读 2006-08-03 20:56:00
    DotNetBar是一套Visual Studio.Ne开发环境下的界面扩展框架组件,提供类似Office 2003OfficeXP的菜单工具条、OfficeXP任务面板、自动隐藏并可拆分的标签式的可停靠窗口、Windows XP风格的气泡控件、多功能
  • Web 组件和控件(Office Web Component)

    千次阅读 2007-05-18 16:12:00
    转自:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/modcore/html/deoriwebcomponetscontrols.aspMicrosoft® Office Web 组件提供了多种方法,用于将 Office 文档发布到 Web 上,同时在...
  • axure常用交互实例日历控件

    千次阅读 2013-03-13 18:03:34
     从控件库中拖出两个文本面板一个矩形框。一个文本面板控件中输入“选择日期”(标签命名为文本1),另一个输入一个默认日期(标签命名为文本2),编辑文本框控件的属性为:文本框。  第二步:  打开日历控件,...
  • Web端交互组件 1、通用(图标、按钮) 2、布局(栅格、布局、分割线) 3、导航(面包屑、导航菜单、页头、分页、步骤条) 4、数据展示(头像、徽标数、日历、卡片、走马灯、折叠面板、评论、描述列表、空状态、...
  • 架构、框架、模式、模块、组件、插件、控件、中间件的含义和区别。经常看到这些概念,但是有些含糊,花点儿功夫整理一下,结果还是有些地方理解的不透彻,先将整理的内容写下来,以供交流。左侧英文栏中有些单词被...
  •  没有太大区别,应该说是一样的,组件类需要实现几个特定的方法。  组件类派生于System.ComponentModel.Component类,因此它具有Component基类的所有特性,组件类具有设计器,可用于以可视化的方式为组件添加...
  • 吐血收集的.net组件和控件(H)

    千次阅读 2006-08-03 20:51:00
    功能强大的向导、专家内置功能协助初学者有经验的使用者更快速的完成高度交互式报表。 交互自定义 Crystal Reports 8.5允许用户添加图表、下拉式菜单、警示、参数提示,以及超链接,并将报表转化为...
  • 吐血收集的.net组件和控件(B)

    千次阅读 2006-08-03 20:59:00
    TList是强大、灵活可靠的Grid/List/Tree ActiveX控件和.Net Framework组件,广泛用于数据输入数据表达。最新版本支持Visual Studio .Net。支持折行,排序,页眉/页脚,放缩,每页上列标题,页号,而且快速(在200...
  • 在线Excel的前端组件控件,实现web Excel 在互联网众多领域,都有导入导出的场景;但是有些场景 是导出来 编辑 再导进去,无疑是一个很麻烦的事情,失去了互联网的价值,同时也存在性能,数据一致性的问题。所以一...
  • 纵观交互设计发展史,就是创新的交互模式被广为接受后成为标准,旧的交互模式不断被淘汰的历史。所以交互模式发展也是一个“物竞天择,优胜劣汰”的过程。本文是09年在碳酸饮料会上做过的一次分享,当时创新的东西...
  • 苹果 IOS界面交互控件一览

    千次阅读 2015-06-04 14:22:22
    文章来自百度百科:...开发者在iOS平台会遇到界面和交互如何展现的问题,控
  • 这是一个在微信小程序开发中使用交互操作控件的例子,主要是演示了ActionSheet上拉菜单、AlertAction提示框、LoadingAction加载框、SuccessAction完成框这几种交互操作组件的用法,这几种交互组件在微信小程序开发中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,397
精华内容 27,758
关键字:

交互组件和控件的区别