在一个windows 应用程序中,有一个观察者接口类
public interface Observer
{
void dataUpdate(Model model,string str,int npara);
}现在想添加一定制控件如下:
public class Attribute : TextBox,Observer
{.....}创建以上类的时候我选择的是添加--新建项---组件类
完成代码并编译后,在TOOLBOX中会有相应的组件图标出现,这样就能跟其他普通控件相同的方法使用定制的控件这样的步骤没错吧???但是在添加新项的时候发现还有几个选择项:
1\继承的用户控件
2\自定义控件
3\用户控件
这些选项和我选择的组件类功能有什么区别呢?我怎么感觉都差不多都可以定制控件??另外:直接新建项目的话有选择项为:  windows窗体控件库这个类型的项目是否专门用于创建包含多个定制控件的类库???

解决方案 »

  1.   

    2\自定义控件 ---------就是重写某一个控件,让他有更多的功能.当某一个控件在很多地方使用,都要实现某一个功能,例如:TextBox,鼠标放上去,实现改变背景颜色.....如果使用TextBox的地方特别多,不可能一个一个的去写Enter事件,只要用自定义控件重写Enter事件很方便的解决3\用户控件 ------- 把一些控件 如 Button ,TextBox 等等控件..组合起来 ,形成一个组合控件,可以公开自己的属性,方法,事件.一般使用吗,就是几个相同的控件出现的频率多,例如:每个窗体上都会出现 3个TextBox,2个Botton ,而且位置也一样,你每个窗体上要拖3个TextBox,2个Botton ,麻烦吗?答案是肯定的麻烦.那么用一个用户控件 就可以搞定....这里只说他们的某一种情况....
      

  2.   


    谢谢那么组件和用户控件的区别在哪里呢?
    组件类可以派生于基本控件,比如我上面说的
    public class Attribute : TextBox,Observer 
    {.....} 而你所说的自定义控件也是继承后进行重写吧,两者似乎差不多
      

  3.   

    其实组件和控件的问题,对类继承顺序有了解就很好理解了,控件是组件,组件不一定是控件,一般来说,组件(component)是靠类实现的。控件是能够提供用户界面接口(UI)功能的组件。换句话说就是,控件是具有用户界面功能的组件