您好,登錄后才能下訂單哦!
小編給大家分享一下C#中自定義控件的property和attribute有什么不同,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
這兩天,在用c#自定義控件,.net他提供給我們的屬性窗口非常好用,我們可以不用寫代碼就可以改變屬性,那么如果我們自定義的控件,可不可以在屬性欄里直接改變它呢?
沒錯,是可以的。.net已經為我們想好了(他們在開發的過程中也是這么用的)。
首先舉個例子,我們要給自己定義的控件加一個字符串屬性(如果對屬性不懂的朋友,先去了解下什么是屬性)
private string mytext public string Mytext { get { return this.mytext; } set { this.mytext = value; } }
這樣,我們就可以在程序中去獲取或改變Mytext屬性了,但是,我們現在的這個屬性,在vs開發環境中的屬性欄里看不到,為什么呢,因為我們還缺少點東西。如果我們在屬性的前面加點東西,就可以了。
就像這樣使用C#自定義控件
private string mytext [Browsable(true)]//指定是否在屬性欄可見 [DesignerSerializationVisibility(DesignerSerializationVisibility .Visible )]//指定屬性對設計時序列化程序所具有的可見性。 public string Mytext { get { return this.mytext; } set { this.mytext = value; } }
這樣再試試,我們就發現,在屬性欄里可以對其進行設置了。
其它還有很多這種屬性,如果有興趣,可以關注下System.ComponentModel命名空間
里面的類只要是Attribute結尾的,都是可以用到的屬性,貌似有好多,這里就不一一列舉了。
System.ComponentModel 命名空間提供用于實現組件和控件運行時和設計時行為的類。此命名空間包括用于實現屬性和類型轉換器、綁定到數據源以及授權組件的基類和接口。
該命名空間中的類分為以下類別:
核心組件類。
組件授權。
屬性。
說明符和持久性。
類型轉換器。
以上是“C#中自定義控件的property和attribute有什么不同”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。