Ich habe 4 Objekte in MySettings
(Usr1, Usr2, Usr3, Usr4) als System.Collections.Specialized.StringCollection
gesetzt.Wie My.Settings Daten zu entfernen
Ich gebe Werte, um es auf diese Weise (und es funktioniert):
For x As Integer = 1 To 4
If My.Settings.Item("Usr" & x.ToString) Is Nothing Then
My.Settings.Item("Usr" & x.ToString) = New System.Collections.Specialized.StringCollection _
From {Me.TBox_Name.Text, _
Me.Tbox_Surname.Text, _
Me.TBox_City.Text, _
Me.CBox_Age.Text}
My.Settings.Save()
Saved = True
Exit For
End If
Next
Wenn ich versuche, Aufzeichnungen zu entfernen und setzen Objekt nichts, was ich nicht
Dies ist, was bieten kann I'v tryed:
Dim ToDelete = New System.Collections.Specialized.StringCollection _
From {Me.TBox_Name.Text, _
Me.Tbox_Surname.Text, _
Me.TBox_City.Text, _
Me.CBox_Age.Text}
If Not My.Settings.Usr1 Is Nothing AndAlso My.Settings.Usr1.Equals(ToDelete) Then
My.Settings.Usr1 = Nothing
End If
If Not My.Settings.Usr2 Is Nothing AndAlso My.Settings.Usr2.Equals(ToDelete) Then
My.Settings.Usr2 = Nothing
End If
If Not My.Settings.Usr3 Is Nothing AndAlso My.Settings.Usr3.Equals(ToDelete) Then
My.Settings.Usr3 = Nothing
End If
If Not My.Settings.Usr4 Is Nothing AndAlso My.Settings.Usr4.Equals(ToDelete) Then
My.Settings.Usr4 = Nothing
End If
Aber ich finde nie gleich: nichts passt.
Ich habe versucht, Werte von Einstellungen zu bekommen und sie in Textfelder zu setzen. Ich bin mir sicher, dass die Werte in den Textfeldern meiner Einstellung entsprechen, aber mein Code erkennt sie nicht.
Wo liege ich falsch?
Gibt es einen anderen Weg, es zu tun?
'Equals' überprüft nicht jedes Element in der Sammlung für Sie. Die Auflistung ist ein Referenzobjekt und testet, ob es sich um dasselbe Objekt handelt. sie werden es nie sein. Sie sollten besser eine Liste (des Benutzers) verwenden und serialisieren, anstatt zu versuchen, Einstellungen als Datenbank zu verwenden. – Plutonix
@Plutonix Danke (Ihre Hinweise sind immer nützlich) Ich habe das Schleifen von Strings in Objekte gelöst (kein großartiger Code) aber funktioniert) PS Ich benutze die Option strict;). – genespos