2017-08-12 2 views
0

alle!C# dauerhaft Element in Combobox hinzufügen und speichern

Ich habe eine Sammlung von Elementen in Combobox-Eigenschaften. Und ich will neues Element in meiner Combobox hinzufügen, indem Sie Text in Combobox zu schreiben und dann auf die Schaltfläche Ereignis verwenden:

private void button2_Click_1(object sender, EventArgs e) 
    { 
     cbx_unix_dir.Items.Add(cbx_unix_dir.Text); 
    } 

Aber beim nächsten Mal mein Programm zu starten - mein zusätzlichen Artikel nicht in Combobox existiert. Was mache ich falsch? Ich muss alle hinzugefügten Artikel in meiner Combobox für immer gespeichert haben. Kann ein Problem in der Methode InitializeComponents() sein? Kann ich Event davor hinzufügen? Vielen Dank.

+0

Sie müssen dies anders nähern, eine Reihe von zusätzlichen Kombinationsfeld Einstellungen aus dem Anwendungseinstellungen Helfer geladen und das Hinzufügen von ihnen zu Wenn Sie die Combobox aus einer Datei laden oder aus einer Datei laden, fügen Sie sie derzeit zur Combobox hinzu, aber sie wird nie gespeichert oder beibehalten, da sie nicht zum Initialisierungscode hinzugefügt wird. –

+0

Ali Adlavaran, danke. Aber wie kann ich cboCollection in Einstellungen hinzufügen? – Dima

+0

Kommentar zu seiner Antwort, aber Sie würden eine Liste von Zeichenfolgen oder ähnlichem hinzufügen –

Antwort

2

ComboBox hat keine Funktionalität zum Speichern und Neuladen von Elementen.

Sie Artikel in .NET Settings file beim Schließen Fenster speichern können und laden sie auf Ladeform:

private void Form1_Load(object sender, EventArgs e) 
    { 
     if (Settings.Default.cboCollection != null) 
      this.cbx_unix_dir.Items.AddRange(Settings.Default.cboCollection.ToArray()); 
    } 


    private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     ArrayList arraylist = new ArrayList(this.cbx_unix_dir.Items); 
     Settings.Default.cboCollection = arraylist; 
     Settings.Default.Save(); 
    } 

    //A button to add items to the ComboBox 
    private void button2_Click_1(object sender, EventArgs e) 
    { 
     cbx_unix_dir.Items.Add(cbx_unix_dir.Text); 
    } 
Verwandte Themen