Laden...

ComboBox-Items aktualisieren

Erstellt von idontwantaname vor 16 Jahren Letzter Beitrag vor 16 Jahren 804 Views
I
idontwantaname Themenstarter:in
86 Beiträge seit 2006
vor 16 Jahren
ComboBox-Items aktualisieren

Hallo!

Ich füge meiner ComboBox Items hinzu. Diese Objekte sind von einer selbstdefinierten Klasse und überschreiben die ToString-Methode, die eine Eigenschaft namens Name zurückgibt. Das funktioniert wunderbar, solange die Eigenschaft nicht geändert wird. Kann ich irgendwie ein Aktualisieren der Items auslösen?

Lg oli

J
1.114 Beiträge seit 2007
vor 16 Jahren

Erstelle besser eine BindingList<> von deinen Objekten. In deinem Objekt implementierst du das Interface INotifyPropertyChanged

public class Adresse : INotifyPropertyChanged

    {
        public event PropertyChangedEventHandler PropertyChanged;

        string name, telefon;

        public string Telefon
        {
            get { return telefon; }
            set { telefon = value; }
        }

        public string Name
        {
            get { return name; }
            set { 
                name = value;
                if (this.PropertyChanged != null)
                    this.PropertyChanged(this, new PropertyChangedEventArgs("Name"));
            }
        }



        public Adresse(string name, string telefon)
        {
            this.name = name;
            this.telefon = telefon;
        }

        public override string ToString()
        {
            return Name + " - " + Telefon;
        }
    }

An deine Combobox linkst du dann direkt die BindingSource

public class Adressen : BindingList<Adresse>
    {
    }

private void button1_Click(object sender, EventArgs e)
        {
            
            list.Add (new Adresse("Ich","12345")) ;
            list.Add (new Adresse("Du","67890")) ;

            BindingSource bs = new BindingSource();
            bs.DataSource = list;
            listBox1.DataSource = bs;
        }

Das sollte dann klappen... PropertyChanged natürlich auch bei den anderen Properties

I
idontwantaname Themenstarter:in
86 Beiträge seit 2006
vor 16 Jahren

Hey danke sehr 😁

Werde es dann mal testen, wenn ich mit meinen Schulsachen fertig bin ^^

Lg oli