C# 自定义控件一些特性标识

https://blog.csdn.net/cxu123321/article/details/104812099
https://blog.csdn.net/biyusr/article/details/7239911



是否显示在属性面板上
[Browsable(true)
属性面板上面的说名
[Description("控件颜色"), Category("自定义"), DefaultValue("")]

下拉选择须要的属性时可经过枚举来定义须要的值
public enum luocore { 你,我,他 }

        private luocore controleColor;
        [Browsable(true)]
        [Description("控件颜色"), Category("自定义"), DefaultValue("")]
        public luocore ControleColor
        {
            get { return controleColor; }
            set { controleColor = value; }
        }


ToolboxItem

 

有没有试过写一个用户控件后,想它不出如今工具箱中,固然有,有时候是控件的Designer部分没有写好或没写,有时候是控件一拖出来就报错,有时候是内部使用的控件,不想别人一引用DLL就出现控件。其它设置方法能够很简单。html

 
  1. ToolboxItem( false)]
  2. public class MyPanel : UserControl
  3. {
  4. }
 

这样就能够了。“可恶”的用户控件就自动隐藏了,不出如今工具箱中。编辑器

 

ToolboxBitmap

写好一个用户控件后,在工具箱中出来的是一个蓝色的齿轮,这就不是很漂亮了,也不可以直观地表达本身的意图。若是更不幸的你的控件的名称好难认的话,其它的开发者会很麻烦的。怎样才能让用户控件在工具箱中显示不一样的图标呢?工具

  1. ToolboxBitmap(typeof(System.Windows.Forms.Panel))]
  2. public class MyPanel : UserControl
  3. {
  4. }

这样就能够了,表示你所作的用户控件使用的图标是Panel的图标。
若是不想用系统的图标,要使用本身的图标,能够这样post

    1. [ToolboxBitmap(typeof(MyPanel), "WindowsApplication1.Images.MyPanel.bmp")]
    2. public class MyPanel : UserControl
    3. {
    4. }
      不过,必定要注意路径, WindowsApplication1.Images.MyPanel.bmp表示,解决方案是 WindowsApplication1,目录是 Images,文件名是 MyPanel.bmp,同时,这个图片必须是“嵌入的资源”(点击文件,右键,属性,有一个文件属性,其中,在生成操做中,能够选择 "嵌入的资源"
       
       
       

      DesignerSerializationVisibility

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

      1. [ DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
      2. public List<Person> Persons { get; set; }
      • 1
      • 2

      将不会被序列化:
      在这里插入图片描述
      若是自定义控件中有些属性不须要显示在属性面板或者不须要序列化时,建议hidden掉spa

 

https://www.cnblogs.com/qingtianhua/p/3524526.html

EditorBrowsable特性 控制智能提示

 

[EditorBrowsable(EditorBrowsableState.Never)]
他的做用是:在编辑器中指定属性或方法的可浏览状态。.net

EditorBrowsableState.Never的枚举说明是:该属性或方法始终不能在编辑器中浏览。code

意思就是说,让使用者在调用的时候没法智能感知出Object默认的方法orm

只有在发布DLL后被人引用才能够隐藏方法。同解决方案下的引用没法隐藏htm

相关文章
相关标签/搜索