標籤:檢測 支援 合法性 編程 文章 核心 控制項 人性 name
PropertyGrid 控制項簡介
.NET 架構 PropertyGrid 控制項是 Visual Studio .NET 屬性瀏覽器的核心。PropertyGrid 控制項顯示對象或類型的屬性,並主要通過使用反射來檢索項目的屬性。當我們建立了一個類編譯之後就產生了類的Metadata,中繼資料。PropertyGrid 就是使用反射來展示和修改類的公用屬性的,就是public標識的屬性。但凡成熟的軟體都是使用配置來滿足不同情境或者客戶的需求,就是使用參數開關的形式。PropertyGrid 代表了主流的配置介面,對於實施培訓的技術支援人員比較人性化。現在就來分享一下使用心得。
SelectedObject
PropertyGrid 的方法SelectedObject是擷取或設定在網格中顯示內容的對象。是使用PropertyGrid顯示對象的最重要方法。
實際用例
使用的要點:
- 1)屬性值如果是枚舉類型,則設定改屬性時自動產生下拉框和填充選擇值。
- 2)屬性可自訂分類
- 3)屬性可注釋和說明
- 4)屬性設定可自訂屬性類型
- 5)如果需要隱藏屬性不在PropertyGrid裡顯示出來,可以在類的屬性上標記[Browsable(false)]
private string _動態內容; [Description(@"格式:{PropertyName[(Start[,Length])]}[&Blank[(Length)]]&{PropertyName[(Start[,Length])]} PropertyName:動態屬性裡的選項 Start:動態屬性對應內容的開始位置 Length:截取內容的長度 Blank:空格 Length:空格的個數 &:為分隔字元 設定此內容的時候,請務必小心,設定時系統不檢測其值的合法性,在執行的時候可能會報錯"), Category("運算式")] [XmlAttribute("動態內容")] public string 動態內容 { get { return _動態內容; } set { _動態內容 = value; NotifyPropertyChanged("動態內容"); } }
要更改某些屬性的顯示方式,您可以對這些屬性應用不同的特性。特性是用於為類型、欄位、方法和屬性等編程元素添加批註的聲明標記,在運行時可以使用反射對其進行檢索。下面列出了其中的一部分:
DescriptionAttribute - 設定顯示在屬性下方說明協助窗格中的屬性文本。這是一種為活動屬性(即具有焦點的屬性)提供協助文本的有效方法。
CategoryAttribute - 設定屬性在網格中所屬的類別。當您需要將屬性按類別名稱分組時,此特性非常有用。如果沒有為屬性指定類別,該屬性將被分配給雜項 類別。可以將此特性應用於所有屬性。
BrowsableAttribute – 表示是否在網格中顯示內容。此特性可用於在網格中隱藏屬性。預設情況下,公用屬性始終顯示在網格中。
ReadOnlyAttribute – 表示屬性是否為唯讀。此特性可用于禁止在網格中編輯屬性。預設情況下,帶有 get 和 set 訪問函數的公用屬性在網格中是可以編輯的。
DefaultValueAttribute – 表示屬性的預設值。如果希望為屬性提供預設值,然後確定該屬性值是否與預設值相同,則可使用此特性。可以將此特性應用於所有屬性。
DefaultPropertyAttribute – 表示類的預設屬性。在網格中選擇某個類時,將首先反白該類的預設屬性。
自訂PropertyGrid屬性 請參考文章:http://blog.csdn.net/jjhua/article/details/23100143.
好了。收工,不寫點啥心慌。但是寫好需要花很多時間。只是堅持一下吧
System.Windows.Forms.PropertyGrid的使用