如何:在 Visual Basic 中创建用户设置的属性网格
可通过使用 My.Settings
对象的用户设置属性填充 PropertyGrid 控件,创建用户设置的属性网格。
注意
若要使此示例正确运行,应用程序必须配置用户设置。 有关详细信息,请参阅管理应用程序设置 (.NET)。
My.Settings
对象将每个设置公开为一个属性。 属性名称就是设置的名称,属性类型就是设置类型。 设置的“范围”确定属性是否为只读;“应用程序”范围设置的属性为只读,而“用户”范围设置的属性为读写。 有关详细信息,请参阅 My.Settings 对象。
注意
不能在运行时更改或保存应用程序范围设置的值。 只有在创建应用程序(通过“项目设计器”)或编辑应用程序的配置文件时才能更改应用程序范围设置。 有关详细信息,请参阅管理应用程序设置 (.NET)。
此示例使用 PropertyGrid 控件访问 My.Settings
对象的用户设置属性。 默认情况下,PropertyGrid 显示 My.Settings
对象的所有属性。 但是,用户设置属性具有 UserScopedSettingAttribute 特性。 此示例将 PropertyGrid 的 BrowsableAttributes 属性设置为 UserScopedSettingAttribute,以仅显示用户设置属性。
添加用户设置属性网格
将“PropertyGrid”控件从“工具箱”添加到应用程序的设计图面上(假定此处为
Form1
)。属性网格控件的默认名称为
PropertyGrid1
。双击
Form1
的设计图面打开窗体加载事件处理程序的代码。将
My.Settings
对象设置为属性网格的选定对象。PropertyGrid1.SelectedObject = My.Settings
将属性网格配置为只显示用户设置。
' 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 中保存用户设置。