如何:在 Visual Basic 中创建用户设置的属性网格

可通过使用 PropertyGrid 对象的用户设置属性填充 My.Settings 控件,创建用户设置的属性网格。

注释

为了使此示例正常工作,应用程序必须配置其用户设置。 有关详细信息,请参阅管理应用程序设置(.NET)。

My.Settings 对象将每个设置公开为一个属性。 属性名称与设置名称相同,属性类型与设置类型相同。 设置的范围决定属性是否为只读。应用程序范围的设置属性是只读的,而用户范围的设置属性是可读写的。 有关详细信息,请参阅 My.Settings 对象

注释

不能在运行时更改或保存应用程序范围设置的值。 仅当创建应用程序(通过 项目设计器)或编辑应用程序的配置文件时,才能更改应用程序范围设置。 有关详细信息,请参阅管理应用程序设置(.NET)。

此示例使用控件 PropertyGrid 访问对象的用户设置属性 My.Settings 。 默认情况下,PropertyGrid 显示 My.Settings 对象的所有属性。 但是,用户设置属性具有属性 UserScopedSettingAttribute 。 本示例将BrowsableAttributesPropertyGrid属性设置为UserScopedSettingAttribute,以仅显示用户设置属性。

添加用户设置属性网格

  1. “工具箱”中的 PropertyGrid 控件添加到应用程序的设计图面,假定为此处Form1

    属性网格控件的默认名称为 PropertyGrid1

  2. 双击设计视图 Form1 打开表单加载事件处理程序的代码。

  3. My.Settings 对象设置为属性网格的选定对象。

    PropertyGrid1.SelectedObject = My.Settings
    
  4. 配置属性网格以仅显示用户设置。

    ' Attribute for the user-scope settings.
    Dim userAttr As New System.Configuration.UserScopedSettingAttribute
    Dim attrs As New System.ComponentModel.AttributeCollection(userAttr)
    PropertyGrid1.BrowsableAttributes = attrs
    

    注释

    若要仅显示应用程序范围设置,请使用属性 ApplicationScopedSettingAttribute 而不是 UserScopedSettingAttribute

可靠的编程

应用程序关闭时保存用户设置。 若要立即保存设置,请调用 My.Settings.Save 该方法。 有关详细信息,请参阅 How to: Persist User Settings in Visual Basic.

另请参阅