深入浅出组件编程之组件与控件的区别
发布时间:2006-03-06 11:13:01 来源:博客园 网友评论 0 条 有很多的朋友搞不清楚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窗口中没有显示。
- 推荐阅讯
- Oracle 9i轻松取得建表和索引的DDL语句
- AJAX技术 vs 传统的ASP无刷新技术
- 游戏编程入门之精灵ISprite
- 封装的变化之排序算法中的封装
- Spring2.0技巧之活用FactoryBean
- Oracle与SQL Server在企业应用中的比较
- OpenGL编程轻松入门之曲面和曲线
- 解析Oracle 8i/9i的计划稳定性
- J2EE中使用Spring AOP框架和EJB组件
- 用Ruby+Builder创建XML应用
- 阅读排行
- 1..net页面间的参数传递简单实例
- 2.VC++与Matlab混合编程之引擎操作详解
- 3.Oracle数据库数据对象分析
- 4.Eclipse3.2+Tomcat5.5.17+Oracle9配置
- 5.Oracle数据库中索引的维护
- 6.在Oracle的网络结构中解决连接问题
- 7.Oracle数据安全面面观
- 8.Oracle数据库的ORA-00257故障解决过程
- 9.Oracle数据库备份与恢复的三种方法
- 10.Oracle与SQL Server在企业应用中的比较
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
