zoukankan      html  css  js  c++  java
  • 艾伟:WinForm控件开发总结(三)认识WinForm控件常用的Attribute 狼人:

          在前面的文章里我们制作了一个非常简单的控件。现在我们回过头来看看这些代码透露出什么信息。

      这个类是直接从Control类派生出来的,自定义控件都是直接从Control类派生出来的。这个类定义了一个属性TextAlignment,用来控制文本在控件中显示的位置:
          

            [
            Category(
    "Alignment"),
            Description(
    "Specifies the alignment of text.")
            ]
            
    public ContentAlignment TextAlignment
            
    {

                
    get
                
    {
                    
    return alignmentValue;
                }

                
    set
                
    {
                    alignmentValue 
    = value;

                    
    // The Invalidate method invokes the OnPaint method described 
                    
    // in step 3.
                    Invalidate();
                }

            }

          

       在这个属性之上有两个Attribute,这两个attribute描述了控件在设计时所表现出来的特征。我们来看看在控件设计中有哪些主要用到的设计时Attribute。 
       BrowsableAttribute:描述是否一个属性或事件应该被显示在属性浏览器里。
       CategoryAttribute:描述一个属性或事件的类别,当使用类别的时候,属性浏览器按类别将属性分组。
       DescriptionAttribute:当用户在属性浏览器里选择属性的时候,description里指定的文本会显示在属性浏览器的下边,向用户显示属性的功能。
       BindableAttribute:描述是否一个属性倾向于被绑定。
       DefaultPropertyAttribute:为组件指定一个默认的属性,当用户在Form设计器上选择一个控件的时候,默认属性会在属性浏览器里被选中。   
       DefaultValueAttribute
    :为一个简单类型的属性设置一个默认值。
       EditorAttribute:为属性指定一个特殊的编辑器。
       LocalizableAttribute:指示一个属性是否能被本地化,任何有这个Attribute的属性将会被持久化到资源文件里。   
       DesignerSerializationVisibilityAttribute
    :指示一个属性是否或者如何持久化到代码里。
       TypeConverterAttribute:为属性指定一个类型转换器,类型转换器能将属性的值转化成其它的数据类型。
       DefaultEventAttribute:为组件指定一个默认的事件,当用户在form设计其中选择一个控件的时候,在属性浏览器中这个事件被选中。
       这些设计时的Attribute时很重要的,如果使用的好,将会对用户的使用带来很大的便利。
       这一章我主要介绍了设计时的Attribute,接下来的文章我将通过代码来介绍这些Attribute

  • 相关阅读:
    LINUX下用PHPIZE安装PHP GD扩展
    LNMP下使用Phabricator(一)
    关于学习
    PHP EXCEL相关
    curl_setopt 注意
    JS代码运行延迟
    ajax跨域
    Bootstrap-下拉菜单
    Bootstrap-基本的按钮组
    Bootstrap-基本的输入框组
  • 原文地址:https://www.cnblogs.com/waw/p/2156852.html
Copyright © 2011-2022 走看看