location opslaan

Status
Niet open voor verdere reacties.

wouterke

Nieuwe gebruiker
Lid geworden
7 jul 2004
Berichten
1
Hallo allemaal,
Een "kort" vraagje: ik werk met een streamreader en streamwriter in vb.net.

Ik moet over een label 3 dingen opslaan:
*label.text
*label.visible
*label.location

Ik doe dit zo:

Dim fs As New System.IO.FileStream(SaveFileDialog.FileName, FileMode.Create, FileAccess.Write)
Dim w As New StreamWriter(fs)
w.BaseStream.Seek(0, SeekOrigin.End)
w.WriteLine(label.Text)
w.WriteLine(label.Visible.ToString)
w.WriteLine(label.Location.ToString)
w.Flush()
w.Close()


Dit lukt perfect, maar het probleem is om deze gevens opnieuw uit te lezen:

Dim fs As New System.IO.FileStream(OpenFileDialog.FileName, FileMode.Open, FileAccess.Read)
Dim r As New StreamReader(fs)
label.Text = r.ReadLine
label.Visible = r.ReadLine
label.Location = r.ReadLine
r.Close()


De eerste 2 werken, maar de location maakt problemen:

Value of type 'String' cannot be converted to 'System.Drawing.Point'.

"label.Location.ToString" geeft als resultaat in het opgeslagen bestand {X=200,Y=270}

Weet iemand hoe dit wél moet? Dus niet "label.Location = r.ReadLine", maar wat dan wel...
 
Settings

Je kan gewoon de locatie opsplitsen in 'object'.locatie.x of 'object'.locatie.y
Zo krijg je simpelweg de integer waarde voor dat deel van het punt.

Maar misschien is het makkelijker te werken met het ingebouwde settingsformulier dat te vinden is in de property's van je project. Op deze manier kan je deze gegevens gewoon opslaan in het type van de waarde, buiten de gebruikersvriendelijkheid van dit formulier is het ook een pak veiliger.
Bijvoorbeeld de locatie kan je gewoon als punt opslaan dan.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan