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

相關文章
相關標籤/搜索