Мое решение
Моя цель состояла в том, чтобы иметь возможность отобразить все настройки в пользовательской области из файла settings.settings и позволить пользователювозможность их редактирования.
Скриншот формы настроек
Я добавил приведенный ниже код непосредственно в файл Settings.Designer.vb . Я знаю, что для продвижения вперед мне придется добавить все мои настройки вручную, чтобы не создавать заново код.
Добавлены следующие строки:
Global.System.ComponentModel.DescriptionAttribute("Saves the location of the CMLs Form Location")
Global.System.ComponentModel.CategoryAttribute("Location")
<Global.System.Configuration.UserScopedSettingAttribute(),
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(),
Global.System.ComponentModel.DescriptionAttribute("Saves the CMLs Form Location"),
Global.System.ComponentModel.CategoryAttribute("Location"),
Global.System.Configuration.DefaultSettingValueAttribute("0, 0")>
Public Property FormCMLsLocation() As Global.System.Drawing.Point
Get
Return CType(Me("FormCMLsLocation"), Global.System.Drawing.Point)
End Get
Set
Me("FormCMLsLocation") = Value
End Set
End Property
Это необходимо заполнить для каждого свойства в классе.
Сетка свойств в форме была ограниченав пользовательскую область с кодом ниже.
Public Class FormUserSettings
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
Dim userAttr As New System.Configuration.UserScopedSettingAttribute
Dim attrs As New System.ComponentModel.AttributeCollection(userAttr)
Dim myProxy As New ProxySettings
If PropertyGrid IsNot Nothing Then
'PropertyGrid.SelectedObject = myProxy
PropertyGrid.SelectedObject = My.Settings
End If
PropertyGrid.BrowsableAttributes = attrs
End Sub
End Class
Дайте мне знать, если у вас есть лучший способ сделать это.Это не мой предпочтительный метод с тем, сколько может пойти не так.
-J-Mo