充分利用 .NET 架構的 PropertyGrid 控制項(微軟)之六

來源:互聯網
上載者:User
控制項|微軟 更改屬性的顯示方式
要更改某些屬性的顯示方式,您可以對這些屬性應用不同的特性。特性是用於為類型、欄位、方法和屬性等編程元素添加批註的聲明標記,在運行時可以使用反射對其進行檢索。下面列出了其中的一部分:

DescriptionAttribute - 設定顯示在屬性下方說明協助窗格中的屬性文本。這是一種為活動屬性(即具有焦點的屬性)提供協助文本的有效方法。可以將此特性應用於 MaxRepeatRate 屬性。
CategoryAttribute - 設定屬性在網格中所屬的類別。當您需要將屬性按類別名稱分組時,此特性非常有用。如果沒有為屬性指定類別,該屬性將被分配給雜項類別。可以將此特性應用於所有屬性。
BrowsableAttribute – 表示是否在網格中顯示內容。此特性可用於在網格中隱藏屬性。預設情況下,公用屬性始終顯示在網格中。可以將此特性應用於 SettingsChanged 屬性。
ReadOnlyAttribute – 表示屬性是否為唯讀。此特性可用于禁止在網格中編輯屬性。預設情況下,帶有 get 和 set 訪問函數的公用屬性在網格中是可以編輯的。可以將此特性應用於 AppVersion 屬性。
DefaultValueAttribute – 表示屬性的預設值。如果希望為屬性提供預設值,然後確定該屬性值是否與預設值相同,則可使用此特性。可以將此特性應用於所有屬性。
DefaultPropertyAttribute – 表示類的預設屬性。在網格中選擇某個類時,將首先反白該類的預設屬性。可以將此特性應用於 AppSettings 類。
現在,我們將其中的一些特性應用於 AppSettings 類,以更改屬性在 PropertyGrid 中的顯示方式。

' Visual Basic

<DefaultPropertyAttribute("SaveOnClose")> _
Public Class AppSettings
    Private _saveOnClose As Boolean = True
    Private _greetingText As String = "歡迎使用應用程式!"
    Private _maxRepeatRate As Integer = 10
    Private _itemsInMRU As Integer = 4

    Private _settingsChanged As Boolean = False
    Private _appVersion As String = "1.0"

    <CategoryAttribute("文檔設定"), _
     DefaultValueAttribute(True)> _
    Public Property SaveOnClose() As Boolean
        Get
            Return _saveOnClose
        End Get
        Set(ByVal Value As Boolean)
            SaveOnClose = Value
        End Set
    End Property

    <CategoryAttribute("全域設定"), _
    ReadOnlyAttribute(True), _
    DefaultValueAttribute("歡迎使用應用程式!")> _
    Public Property GreetingText() As String
        Get
            Return _greetingText
        End Get
        Set(ByVal Value As String)
            _greetingText = Value
        End Set
    End Property

    <CategoryAttribute("全域設定"), _
    DefaultValueAttribute(4)> _
    Public Property ItemsInMRUList() As Integer
        Get
            Return _itemsInMRU
        End Get
        Set(ByVal Value As Integer)
            _itemsInMRU = Value
        End Set
    End Property

    <DescriptionAttribute("以毫秒錶示的文本重複率。"), _
    CategoryAttribute("全域設定"), _
    DefaultValueAttribute(10)> _
    Public Property MaxRepeatRate() As Integer
        Get
            Return _maxRepeatRate
        End Get
        Set(ByVal Value As Integer)
            _maxRepeatRate = Value
        End Set
    End Property

    <BrowsableAttribute(False),
     DefaultValueAttribute(False)> _
    Public Property SettingsChanged() As Boolean
        Get
            Return _settingsChanged
        End Get
        Set(ByVal Value As Boolean)
            _settingsChanged = Value
        End Set
    End Property

    <CategoryAttribute("版本"), _
    DefaultValueAttribute("1.0"), _
    ReadOnlyAttribute(True)> _
    Public Property AppVersion() As String
        Get
            Return _appVersion
        End Get
        Set(ByVal Value As String)
            _appVersion = Value
        End Set
    End Property
End Class




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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