日期:2014-05-17  浏览次数:21008 次

c#组件和控件的区别,什么时候用组件?什么时候该用控件呢
大家好,一个问题一直困扰着小弟,就是c#中组件和控件的区别,但从visual studio中看表面的区别就是组件不能提供界面,而控件是有设计界面的,根据我在网上查询的资料获知:在编程领域内,组件其实就是一个可以复用并可以和其它对象交互的对象,而控件就是一个提供或实现了图形界面的组件,其实我感觉说的已经挺清楚了,但是我还是理解不透:

1、什么时候应该选择使用组件呢,什么时候选择使用控件呢?

2、就组件的可复用来说,用一个普通的类完全可以做到的啊,感觉组件类比普通类稍强一点的地方就是能够做到从vs的工具栏中拖拽到界面上,但是本质还是一个类的引用啊,为什么会出现组件呢?

3、对实现同一个功能,控件是不是比组件耗费内存要多呢?

希望懂的给个提示,小弟是个新手,所以问的问题难免有些肤浅,请大家见谅,谢谢啦,希望能用具体的例子加理论给些指点,我还有还来新手们不胜感激

------解决方案--------------------
组件控件都能拖到界面里,组件不能查看设计器,你要想自己弄个能画的控件,就继承UserControl或control
控件paint肯定比组件费时间
------解决方案--------------------
.net的组件概念,基本上就是指可以支持在vs设计窗体上拖入、编程的类。所以它跟随便一个类也还是有区别。组件概念就好像是给普通类放上去特定的接口、或者特定的Attribute。只要非常重要,细微之处也可以自成体系。组件类非常简单,几乎没有内容,可是它是规定,vs等开发IDE环境就认识从组件类继承的子类、而不支持不从组件类继承的子类。