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
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
Hey danke sehr 😁
Werde es dann mal testen, wenn ich mit meinen Schulsachen fertig bin ^^
Lg oli