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

更新:2007 年 11 月

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

说明:

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

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

说明:

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

此示例使用 PropertyGrid 控件访问 My.Settings 对象的用户设置属性。默认情况下,PropertyGrid 显示 My.Settings 对象的所有属性。但用户设置属性 (Property) 具有 UserScopedSettingAttribute 属性 (Attribute)。此示例将 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 对象

其他资源

管理应用程序设置