zoukankan      html  css  js  c++  java
  • 自定义控件件不可不知的四个Design属性

    自定义控件件,有些Design属性是要使用的可以令控件更加专业和实用。下面对一些常用的Design属性做一个简单的生产介绍。
    ToolboxItem
    有时候是控件的Designer部分没有写好,不想别人一引用DLL就出现控件  可以设置:                                                       

    [ToolboxItem(false)]
    public class MyPanel : UserControl

    这样用户控件就自动隐藏了,不出现在工具箱中。

     

    ToolboxBitmap
    让用户控件在工具箱中显示不同的图标:

     

    [ToolboxBitmap(typeof(System.Windows.Forms.Panel))]
    public class MyPanel : UserControl


    这样用户控件使用的图标是Panel的图标。
    如果不用系统的图标,而使用自己的图标,可以这样

    [ToolboxBitmap(typeof(MyPanel), "WindowsApplication1.Images.MyOKL.bmp")]
    public class MyPanel : UserControl

    不过,一定要注意路径,WindowsApplication1.Images.MyOKL.bmp表示,解决方案是WindowsApplication1,目录是Images,文件名是MyOKL.bmp,同时,这个图片必须是“Resources嵌入的资源

    CategoryDescription

    [Category("Appearance"), Description("阴影色")]
    public System.Drawing.Color ShadowColor { 
    get { …} 
    set { …} 
    }

    这两个是经常一起的属性,Category表示类型,如属性框中所显示的外观,布局等分类,当然,你可以自己的“自定义属性”,而Description就是这个属性的描述,用来说明属性有什么用途。这两个的设置相对都比较简单,可以说,一看就知道,不过提一下,Appearance是将出现在属性面板中,外观一栏。

    DefaultValue

    [DefaultValue(typeof(Color), "DarkGray")]
    public System.Drawing.Color ShadowColor

       get { …} set { …}
    }

    用于设置默认的值,对于string,bool,int,可以直接写出来:

    [DefaultValue(10)]

    这是可以的,不过,不是这三种类型的话,就比较麻烦,一定要先转化为string才能设置成功。如上面的DarkGray,这是系统定义的颜色,这还是比较好处理的。不过,如果是一些自定义的颜色,如颜色是128,0,128,你应该将128转为16进制,写成0x800080,前缀0x是一定要加的。最后就这样

    [DefaultValue(typeof(Color), "0x800080")]

    Browsable
    表示是否在属性面板中显示这个属性

    [Browsable(true)]

    表示,将在属性面板中显示这个属性。

    DesignerSerializationVisibility
    表示,是否在*.Designer.cs文件中将设置的代码写出来,也就是是否要实现序列化
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
    表示需要实现序列化。

  • 相关阅读:
    ueditor 后端配置项没有正常加载,上传插件不能正常使用 UTF8 PHP
    dedecms 后台栏目全部展开 包括三级栏目
    修改DedeCMS图片上传路径命名规则的具体方法步骤
    dedecms织梦副栏目名称和链接调用
    当位于顶级栏目显示下级栏目,当位于二级栏目显示同级栏目,当位于三级目录,显示上级栏目
    织梦多个栏目arclist调用副栏目不显示的解决办法
    PL/SQL连接64位Oracle配置方法
    U盘分区之后如何恢复
    Myeclipse 的使用随笔
    eclipse和myeclipse的差别问题
  • 原文地址:https://www.cnblogs.com/panjun/p/2237499.html
Copyright © 2011-2022 走看看