ListBox aktualisieren nach Close Event

mo78

Grünschnabel
Hallo,

Mein Problem ist folgendes, ich habe eine List<string> die als datasource an eine Listbox gebunden ist.
Beim anwählen der Listbox einträge wird über einen event der Ausgewählte eintrag an eine Methode übergeben welche dann anhand des ausgewählten eintrages einen Datensatz aus der DB liest und in entsprechende Texboxen schreibt. Das passiert alles in Form1

Hier mal der Code von Form1
Code:
public Form1(){
InitializeComponent();
db = new DBclass();
liste = new List<string>();
}

private void dbConnect_Click(object sender, EventArgs e){
liste = db.getListe();
listBox1.DataSource = kundenListe;   
}

protected void listBox1_SelectedIndexChanged(object sender, EventArgs e){
if(listBox1.DataSource!=null)
 updateTextboxes(listBox1.SelectedItem.ToString());
}

private void updateTextboxes(string value){
            listenEintrag = value;
            db.loadDaten(listenEintrag);
            tb1.Text = db.daten[0];
            tb2.Text = db.daten[1];
            tb2.Text = db.daten[2];
}

private void bt_edit_Click(object sender, EventArgs e) {
form3 = new Form3(this);
form3.Show();
}

public List<string> Liste {
get { return liste;}
set { this.liste = value;}   
}

Und so siehts in Form2 aus

Code:
private Form1 form1 = null;

public Form2(f1) {
InitializeComponent();
db = new DBclass();
f3Liste = new List<string>();
this.form1 = f1;
}

private void btSave_Click(object sender, EventArgs e){
db.edit(tb1.Text, tb2.Text, tb3.Text));
}

private void Form2_FormClosed(object sender, FormClosedEventArgs e) {
f3Liste = db.getListe();
this.form1.Liste = f3Liste;            
this.form1.Refresh();
}

WEnn ich btSave anklicke dann wird der Datensatz auch geändert, nur wenn ich dann Form2 schließe ist in der Listox die Änderung nicht zu sehen, und wenn dann einen eintrag in der list auswähle
bekomme ich auf
updateTextboxes(listBox1.SelectedItem.ToString());
eine NullReferenceException.

Naja und da komme ich nun nicht weiter.
Schonmal besten Dank für jegliche Hilfe.

EDIT:
Das Problem ist gelöst.
Ich musste das neue List objekt
im Setter der Listbox als Datasource hinzufügen


Code:
public List<string> Liste {
get { return liste;}
set { this.liste = value;
listBox1.Datasource = this.liste;
}   
}
mfg mo
 
Zuletzt bearbeitet:
Zurück