Marks ответ, как я хотел бы сделать это Кроме, если вы хотите сохранить изменения для целого ряда различных элементов управления, которые могли бы быть лучше, чтобы петли через них и проверьте настройки по форме закрытия и хранить их в System.Collections.Specialized.StringCollection
в My.Settings
, то вы можете просмотреть эту коллекцию в форме Load и установить параметры так, как они должны быть.
Сообщите мне, если вы хотите привести пример, и я могу его предоставить.
Пример:
Примечание: Я всегда находил при добавлении System.Collections.Specialized.StringCollection вам нужно добавить пустую строку вручную (вы можете удалить его), чтобы заставить его создать .xml (вероятно, более техническое решение этой проблемы, но это работает для меня)
Я создал одну под названием FormLoadData
для того, чтобы определить, какие управления для хранения данных я приставкой их имена с «UC_», если все элементы управления в форме или все в групповом поле и т. д., вы можете пропустить эту проверку.
затем добавить следующую форму закрытия суб:
Private Sub Form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
'clear collection
My.Settings.FormLoadData.Clear()
'loop through each control on the form
For Each Con As Control In Me.Controls
'run check to see if it is a control to store changes for
If Con.Name.Substring(0, 3) = "UC_" Then
'load any settings you wish to store in the collection starting with the control ID
My.Settings.FormLoadData.Add(Con.Name & "," & Con.Font.ToString)
End If
Next
End Sub
и следующие под Новый:
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
'loop through controls
For Each Con As Control In Me.Controls
'loop through settings to compare
For Each item In My.Settings.FormLoadData
'check stored name against control name
If Con.Name = item.Split(",").ElementAt(0) Then
'update settings
Con.Font = New Font(item.Split(",").ElementAt(1), Con.Font.Size)
MsgBox(item)
Exit For
End If
Next item
Next Con
End Sub
Существует, безусловно, лучший способ сделать это, а затем цикл по коллекции, созданной, но если вы не храните данные для тысяч элементов управления, это будет работать нормально.
Мой браузер играет вверх, поэтому я не могу проверить, как это выглядит, но, надеюсь, это ясно!
хранить изменения и извлекать и применять их при загрузке формы? – bansi
Сохранение изменений в db или appconfig и проверка загрузки формы – SK2185
Как сохранить изменения! Да, это то, что я хочу знать. –