Save combobox to Settings c#, winforms?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Du überschreibst das Property CBPasswordsSave immer wieder.

Lege in den Settings doch den Typ auf eine StringCollection fest, speichere die Werte aus der ComboBox in einer solchen und übergebe sie dann an das Settings-Property.

KACKBIENCHEN 
Fragesteller
 23.04.2022, 18:57

Ich probiere es schon die ganze zeit kriege es aber nicht hin wüsstest du wie?

0
regex9  23.04.2022, 19:10
@KACKBIENCHEN

Es verhält sich so, wie bei einer Liste.

var collection = new StringCollection();
var items = CBPasswords.Items;

for (int i = 0; i < items.Count; ++i)
{
  collection.Add(items[i].ToString());
}

Properties.Settings.Default.CBPasswordsSave = collection;
Properties.Settings.Default.Save();
0
KACKBIENCHEN 
Fragesteller
 23.04.2022, 19:17
@regex9

Wenn ich das Form schließe passiert das:

System.Configuration.ConfigurationErrorsException: "Das Konfigurationssystem konnte nicht initialisiert werden."

0
regex9  23.04.2022, 19:24
@KACKBIENCHEN

Im Properties-Ordner deiner Projektmappe solltest du die Settingsdatei sehen. Öffne sie einmal in einem Texteditor. Die Daten werden in einem XML-Format gespeichert, irgendwo wird ein Fehler sein. Vermutlich müsstest du dein Setting einmal komplett löschen und dann neu anlegen.

1
KACKBIENCHEN 
Fragesteller
 23.04.2022, 19:32
@regex9

hat leider nichts gebracht da wird immer bei der XML datei dieser fehler angezeigt und zwar bei ["CBPasswordsSave"] = value;

0
regex9  23.04.2022, 19:51
@KACKBIENCHEN

Rechtsklick auf Settings.settings im Solution Explorer > Open With ... > irgendeinen XML-Editor auswählen. Der Settings-Knoten muss so aussehen:

<Settings>
  <Setting Name="CBPasswordsSave" Type="System.Collections.Specialized.StringCollection" Scope="User">
    <Value Profile="(Default)" />
  </Setting>
</Settings>
1