Rovan

      一个犁牛半块田,收也凭天,荒也凭天, 清茶淡饭饱三餐,早也香甜,晚也香甜, 布衣得暖胜丝绵,长也可穿,短也可穿, 草舍茅屋有几间,行也安然,待也安然, 雨过天青驾小船,鱼在一边,酒在一边, 夜归儿女话灯前,今也有言,古也有言, 日上三竿我独眠,请是神仙,我是神仙.

首页 新随笔 联系 订阅 管理
注册blog已经很长一段时间了,但是却一篇文章都没有写过。想想也很惭愧,于是有了想写点东西的冲动。 介绍下我的工作,公司主要是开发第三方组件(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窗口中没有显示。
posted on 2006-04-05 10:02  Ruxuan  阅读(118)  评论(0)    收藏  举报