Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16498058
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 21:33:23

下载本文示例代码
  有很多的朋友搞不清楚Component与Control之间的区别,比较简单形象的区别有下面两点:  1、Component在Run Time时不能呈现UI,而Control可以在Run Time时呈现UI(但是vs 2005里的asp.net中的SqlDataSource是Control,但是它不能呈现UI)。  2、Component是贴在容器Container上的,而Control则是贴在Windows Form或者Web Form上的。  举例来说,SqlCommand是个Component,DataGrid则是一个Control。  那我们又如何来开发一个Component呢?其实很简单,只要我们把一个类从System.ComponentModel.Component(下面简写Component)继承下来即可。  下面我们就来编写一个简单的Component,打开vs 2005添加一个新的ClassLibrary工程,名称为Components,更改Class1的代码如下: using System;using System.Collections.Generic;using System.Text;using System.ComponentModel;namespace Components{ public class Component1 : Component { private int _id; private string _name; private DateTime _createDateTime; // 在Property窗口中为灰色显示。 public int Id { get { return _id; } } // 在Property窗口中可以设置值。 public string name { get { return _name; } set { _name = value; } } // 在Property窗口中不可见。 public DateTime CreateDateTime { set { _createDateTime = value; } } }}  编译完成后,其Property的效果如下:  请注意Id是灰色,不能对其进行设值,而CreateDateTime在Property窗口中没有显示。   有很多的朋友搞不清楚Component与Control之间的区别,比较简单形象的区别有下面两点:  1、Component在Run Time时不能呈现UI,而Control可以在Run Time时呈现UI(但是vs 2005里的asp.net中的SqlDataSource是Control,但是它不能呈现UI)。  2、Component是贴在容器Container上的,而Control则是贴在Windows Form或者Web Form上的。  举例来说,SqlCommand是个Component,DataGrid则是一个Control。  那我们又如何来开发一个Component呢?其实很简单,只要我们把一个类从System.ComponentModel.Component(下面简写Component)继承下来即可。  下面我们就来编写一个简单的Component,打开vs 2005添加一个新的ClassLibrary工程,名称为Components,更改Class1的代码如下: using System;using System.Collections.Generic;using System.Text;using System.ComponentModel;namespace Components{ public class Component1 : Component { private int _id; private string _name; private DateTime _createDateTime; // 在Property窗口中为灰色显示。 public int Id { get { return _id; } } // 在Property窗口中可以设置值。 public string name { get { return _name; } set { _name = value; } } // 在Property窗口中不可见。 public DateTime CreateDateTime { set { _createDateTime = value; } } }}  编译完成后,其Property的效果如下:  请注意Id是灰色,不能对其进行设值,而CreateDateTime在Property窗口中没有显示。 下载本文示例代码


深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别深入浅出组件编程之组件与控件的区别
阅读(124) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~