Automatisches Update des Inhaltes einer Combobox wenn sich Arraylänge ändert



  • Hi Folks,

    Ich habe die ComboBox mit einem Array per Datasource zuweisung verbunden.

    string[] MeinArray = {"Apfel","Banane","Birne","Erdbeere"};

    ComboBox1.DataSource = MeinArray;

    Wenn zum Array ein Eintrag hinzukommt oder gelöscht wird, soll der Inhalt der ComboBox per Event aktualisiert werden.

    Welches Event des Arrays kann ich hier wie verwenden?

    So wie ich es derzeit habe zeigt Combobox immer die Werte nach der ersten Zuweisung der DataSource an.

    Grüße Opal



  • Wie fügst Du denn einem Array Elemente hinzu?
    Und welche Events haben denn Deine Arrays? 🙄

    Verwende einfach eine BindingList

    BindingList<string> mylist = new BindingList<string>();
    
    comboBox1.DataSource = mylist;
    
    mylist.Add("derpina");
    


  • Die Größe eines arrays kann sich doch gar nicht ändern.

    Ich vermute, dass du einfach ein neues Array erstellst und deine Referenz auf das alte array durch eine referenz auf ein neues array ersetzt, wovon die combobox natürlich nichts mitbkeommt.

    Zeig am besten mal ein wenig code, am besten von der stelle, wo du änderungen am array vornimmst.

    Falls das ungefähr so aussieht:

    MeinArray = new string[]{x,y,z};
    

    dann solltest du danach einfach nochmal das hier machen:

    ComboBox1.DataSource = MeinArray;
    

    Evtl. hab ich dich aber auch falsch verstanden.



  • http://msdn.microsoft.com/en-us/library/ms132679.aspx verwenden, dann kann .Net wissen, wann ein Array (Liste) verändert wurde.



  • Thanks a looot,

    bindinglist ist genau das was mir gefehlt hat ;-))

    Grüße opal


Anmelden zum Antworten