You'll need the following [b]Import[/b] statement:
Imports System.XML.Serialization
Your Settings object:
Public Class SettingsObject
Public MainLocation As Location
Public MainSize As Size
Public LastUsed As DateTime
End Class
Dim MySettings As SettingsObject
The Deserialization method:
Public Shared Function ReadSettings(ByVal fileName As String) As Boolean
Dim serializer As New XmlSerializer(GetType(SettingsObject))
Dim reader As New FileStream(fileName, FileMode.Open)
Try
MySettings = CType(serializer.Deserialize(reader), SettingsObject)
Call reader.Close()
Return True
Catch ex As Exception
Call reader.Close()
Debug.WriteLine(ex.ToString)
Return False
End Try
End Function
This Serialization method:
Public Shared Function SaveSettings(ByVal fileName As String) As Boolean
Try
Dim serializer As New XmlSerializer(GetType(SettingsObject))
Dim writer As New StreamWriter(fileName, False)
Call serializer.Serialize(writer, SettingsInstance)
Call writer.Close()
Return True
Catch ex As Exception
Debug.WriteLine(ex.ToString)
Return False
End Try
End Function
Saving your settings:
MySettings.MainLocation = frmMain.Location
MySettings.MainSize = frmMain.Size
MySettings.LastUsed = DateTime.Now
'These settings can be changed at any time. It doesn't have to be before the actual saving.
SaveSettings("C:\testing.xml") 'Save our Settings
Loading your Settings:
LoadSettings("C:\settings.xml")
Debug.WriteLine(MySettings.LastUsed.ToLongDateString, "Last Used")
Good luck,
-Allen