.NET组件编程(1) 基础
2006-03-06 08:48
134 查看
注册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的效果如下:
![](http://images.cnblogs.com/cnblogs_com/mapserver/1.jpg)
请注意Id是灰色,不能对其进行设值,而CreateDateTime在Property窗口中没有显示。
介绍下我的工作,公司主要是开发第三方组件(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的效果如下:
![](http://images.cnblogs.com/cnblogs_com/mapserver/1.jpg)
请注意Id是灰色,不能对其进行设值,而CreateDateTime在Property窗口中没有显示。
相关文章推荐
- ASP.NET 2.0服务器控件与组件开发高级编程:为自定义控件添加设计时属性
- ASP.net组件编程中的两种事件编写方法
- Visual C++.NET编程基础讲座之四
- 面向基础系列之---Java网络编程---网络连接组件的使用(URLConnecti 3ff8 on)
- [引]Windows窗体编程基础学习: 对话框组件
- ASP.NET中Cookie编程的基础知识 6
- Windows窗体编程基础学习:使用 NotifyIcon 组件向任务栏添加应用程序图标
- atitit.基于组件的事件为基础的编程模型--服务器端控件(1)---------服务器端控件和标签之间的关系
- ASP.NET 2.0服务器控件与组件开发高级编程
- 风影ASP.NET基础教学 7用户控件编程
- ASP.NET 3.5核心编程学习笔记(19):数据源组件、SqlDataSource控件
- microsoft office web 组件(owc11)的编程(.net)
- ASP.net组件编程中的两种事件编写方法
- ASP.NET中Cookie编程的基础知识(1)
- ASP.NET中Cookie编程的基础知识(5)
- ASP.NET中Cookie编程的基础知识(1)
- ASP.NET 高级编程基础第六篇—开发原则1
- ASP.NET 高级编程基础第一篇—基础介绍
- ASP.NET中Cookie编程的基础知识(1)
- ASP.NET中Cookie编程的基础知识(4)