PropertyGrid控件在VB.net下使用的例子

PropertyGrid

更改属性的显示方式

要更改某些属性的显示方式,您可以对这些属性应用不同的特性。特性是用于为类型、字段、方法和属性等编程元素添加批注的声明标记,在运行时可以使用反射对其进行检索。下面列出了其中的一部分:

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

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页