程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .NET組件編程(1) 基礎

.NET組件編程(1) 基礎

編輯:關於.NET

介紹下我的工作,公司主要是開發第三方組件(Component)、控件(Control),我看園子裡的朋友 們寫這方面不是很多(也許是我沒有看到),所以打算寫個關於組件開發的系列文章。

首先介紹基本知識,有很多的朋友搞不清楚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窗口中沒有顯示。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved