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

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

提示

若要使此示例正确运行,您的应用程序必须配置用户设置。 有关添加用户设置的信息,请参见 如何:添加或移除应用程序设置

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

提示

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

此示例使用 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 中保存用户设置

请参见

任务

如何:在 Visual Basic 中读取应用程序设置

如何:在 Visual Basic 中更改用户设置

如何:在 Visual Basic 中保存用户设置

如何:添加或移除应用程序设置

参考

My.Settings 对象 (Visual Basic)

其他资源

管理应用程序设置