In deiner fg_beschreibung_CellDoubleClick Methode erzeugtst du ein neues frm_main. Das ist eine andere als die die gerade angezeigt wird.
Sauber wäre wenn du im CellDoubleClick einen Event wirfst denn die originale frm_main fängt und von dort dann die Anzeige aktualisiert. Dann brauch deine 2.te Form auch frm_main nicht kennen und bleibt universell einsetzbar.
Die billige Lösung wäre den übergeben Owner, denn hast du beim Show der Form übergeben, wieder auf die tatsächliche Form zu casten.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| private void fg_beschreibung_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { frm_main tmp = this.Owner as frm_main; if(tmp != null) { tmp.s_artikel = fg_beschreibung.Rows[e.RowIndex].Cells[0].Value.ToString(); tmp.Anzeigen(); } Close(); } |
PS: Wenn ich mir was wünschen darf bitte das C# Namensschema angewöhnen. Typen in Groß, Methoden in groß, Variablen in klein. Und niemals nicht Unterstriche sondern Dinge in CamelCase bzw. in PascalCase benamsen.