有很多的朋友搞不清楚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的效果如下:

標簽:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:博客園