Visual Basic.NET 7.x (2002/03)Visual Basic 9 (2008)Visual Basic 8 (2005)Visual Basic 6初学者开发Visual Studio.NETVisual Basic
动态用户设置






1.25/5 (9投票s)
动态用户设置
Visual Studio 使添加用户和应用程序作用域设置变得容易。项目属性中的“设置”选项卡允许您在设计时添加设置。您可以决定类型、作用域和默认值。但是,有时您可能希望在运行时添加用户作用域属性。我将演示如何执行此操作。
添加属性
- 创建一个
System.Configuration.SettingsAttributeDictionary
的实例。 - 创建一个
System.Configuration.UserScopedSettingsAttribute
的实例。 - 将
System.Configuration.UserScopedSettingsAttribute
对象添加到System.Configuration.SettingsAttributeDictionary
。 - 创建一个
System.Configuration.SettingsProperty
的实例,并将System.Configuration.SettingsAttributeDictionary
、属性名称、默认值和类型作为构造函数的参数传递进去。 - 将
System.Configuration.SettingsAttributeDictionary
添加到My.MySettings.Default.Properties
集合。
示例代码
Private Sub AddProperty(ByVal propertyName As String, _ ByVal defaultValue As String, ByVal propertyType As Type) Dim providerName As String = "LocalFileSettingsProvider" Dim attributes As New Configuration.SettingsAttributeDictionary() Dim attr As New Configuration.UserScopedSettingAttribute() attributes.Add(attr.TypeId(), attr) Dim prop As New Configuration.SettingsProperty( _ New Configuration.SettingsProperty(propertyName, propertyType, _ My.MySettings.Default.Providers(providerName), False, defaultValue, _ Configuration.SettingsSerializeAs.String, attributes, False, False)) My.MySettings.Default.Properties.Add(prop) End Sub
设置属性值
示例代码
My.MySettings.Default.Item(propertyName) = propertyValue获取属性值
示例代码
My.MySettings.Default.Item(propertyName).ToString()下次运行时访问属性
您可能会注意到,下次运行应用程序时,您添加的属性没有自动加载。只有存在于 My.MySettings.Default
对象中的属性在加载属性时才会被加载。
- 添加您的属性。
- 重新加载您的
My.MySettings.Default
对象。
示例代码
AddProperty(SavedPropertyNameTextBox.Text, String.Empty)
My.MySettings.Default.Reload()