WinForm控件开发总结(三)------认识WinForm控件常用的Attribute
      在前面的文章里我们制作了一个非常简单的控件。现在我们回过头来看看这些代码透露出什么信息。
  这个类是直接从Control类派生出来的,自定义控件都是直接从Control类派生出来的。这个类定义了一个属性TextAlignment,用来控制文本在控件中显示的位置:
      
 [
        [ Category("Alignment"),
        Category("Alignment"), Description("Specifies the alignment of text.")
        Description("Specifies the alignment of text.") ]
        ] public ContentAlignment TextAlignment
        public ContentAlignment TextAlignment
 
         {
{
 get
            get
 
             {
{ return alignmentValue;
                return alignmentValue; }
            } set
            set
 
             {
{ alignmentValue = value;
                alignmentValue = value;
 // The Invalidate method invokes the OnPaint method described
                // The Invalidate method invokes the OnPaint method described  // in step 3.
                // in step 3. Invalidate();
                Invalidate(); }
            } }
        }
   在这个属性之上有两个Attribute,这两个attribute描述了控件在设计时所表现出来的特征。我们来看看在控件设计中有哪些主要用到的设计时Attribute。 
   BrowsableAttribute:描述是否一个属性或事件应该被显示在属性浏览器里。
   CategoryAttribute:描述一个属性或事件的类别,当使用类别的时候,属性浏览器按类别将属性分组。
   DescriptionAttribute:当用户在属性浏览器里选择属性的时候,description里指定的文本会显示在属性浏览器的下边,向用户显示属性的功能。
   BindableAttribute:描述是否一个属性倾向于被绑定。
   DefaultPropertyAttribute:为组件指定一个默认的属性,当用户在Form设计器上选择一个控件的时候,默认属性会在属性浏览器里被选中。   
   DefaultValueAttribute:为一个简单类型的属性设置一个默认值。
   EditorAttribute:为属性指定一个特殊的编辑器。
   LocalizableAttribute:指示一个属性是否能被本地化,任何有这个Attribute的属性将会被持久化到资源文件里。   
   DesignerSerializationVisibilityAttribute:指示一个属性是否或者如何持久化到代码里。
   TypeConverterAttribute:为属性指定一个类型转换器,类型转换器能将属性的值转化成其它的数据类型。
   DefaultEventAttribute:为组件指定一个默认的事件,当用户在form设计其中选择一个控件的时候,在属性浏览器中这个事件被选中。
   这些设计时的Attribute时很重要的,如果使用的好,将会对用户的使用带来很大的便利。
   这一章我主要介绍了设计时的Attribute,接下来的文章我将通过代码来介绍这些Attribute。
 
                