VB.NET从My.Settings获取默认值

时间:2013-11-08 21:46:30

标签: vb.net default my.settings

VB2010。我了解如何保存设置并从My.Settings命名空间加载它们。我想弄清楚的是如何获取设置的默认值并将其呈现给用户。我不想保存设置我只想显示当前值是什么以及默认值是什么。我试过这个,但我不认为它做了我认为应该做的事情:

 Msgbox "Current setting: " & My.Settings.CustLineWidth & vbcrlf & _
        "Default setting: " & My.MySettings.Default.CustLineWidth

我在IDE中设置的默认值为10,但是用户将其更改为25.如果我运行上面的代码,我会得到

 Current setting: 25
 Default setting: 25

我想要的是

 Current setting: 25
 Default setting: 10

解决方案:我遍历所有设置并打印出当前值和默认值,如此

        For Each prop As Configuration.SettingsPropertyValue In My.Settings.PropertyValues
            Debug.Print("Name={0}", prop.Name)
            Debug.Print("  Value  ={0}", prop.PropertyValue.ToString)
            Debug.Print("  Default={0}", prop.Property.DefaultValue.ToString)
        Next prop

3 个答案:

答案 0 :(得分:3)

这对我有用:

My.Settings.PropertyValues("CustLineWidth").Property.DefaultValue

答案 1 :(得分:0)

仅使用此代码:

MsgBox(CStr(My.Settings.Properties.Item("CustLineWidth").DefaultValue))

此代码返回默认值:未处理错误

My.Settings.PropertyValues("CustLineWidth").Property.DefaultValue

但是这个只能在调用" settings.save"之前返回最后一个值。方法::带有未处理的错误

My.MySettings.Default.CustLineWidth

答案 2 :(得分:0)

我们假设您已将此添加到您的设置文件中,您只需要执行以下操作

My.Settings.YOUR_SETTING_NAME