System.Windows.Forms.PropertyGrid的使用

來源:互聯網
上載者:User

標籤:檢測   支援   合法性   編程   文章   核心   控制項   人性   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的使用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.