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

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

备注

若要使此示例正确运行,应用程序必须配置用户设置。 有关详细信息,请参阅管理应用程序设置 (.NET)

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

备注

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

此示例使用 PropertyGrid 控件访问 My.Settings 对象的用户设置属性。 默认情况下,PropertyGrid 显示 My.Settings 对象的所有属性。 但是,用户设置属性具有 UserScopedSettingAttribute 特性。 此示例将 PropertyGridBrowsableAttributes 属性设置为 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 方法。 有关详细信息,请参阅如何:在 Visual Basic 中保存用户设置

另请参阅