Benutzer mit den meisten Antworten
Daten über verschiedene Forms austauschen...

Frage
-
Guten Tag,
Grundsätzliche Frage: ist es möglich, Daten über verschiedene Forms auszutauschen?
Es geht nicht um das MDI.
Ich habe eine Form1 mit einem Datagridview. Da sind dann einige Buttons drin über die eine neue
Form mit einem Chartmodul geöffnet wird. Dieses Chartmodul möchte ich solang es geöffnet ist,
mit aktuellen Daten versorgen.Ist so etwas Möglich und wenn ja, wie oder wo könnte ich mich da einlesen.
Gruß Olaf
Antworten
-
Hallo,
deine Form1 kennt die Instanz der 2. Form. Somit kannst du einfach Methoden der 2. Form aufrufen:Dim frm as Form2 sub OpenSecondForm() frm = new form2() frm.Show() end sub sub SendData() frm.SetNewData("Neue Daten") end sub
In deiner Form2 brauchst du nur eine öffentliche (public) Methode zu implementieren, die deine neuen Daten entgegen nimmt.
Für den Umgekehrten Weg solltest du Events verwenden. Dieses wird in Form2 implementiert und von Form1 abonniert. Wenn nun Form2 neue Daten an Form1 senden will, löst es einfach das Event aus. Siehe auch Add Custom Event to a Class in VB.NET
Tom Lambert - C# MVP
Bitte bewertet- und markiert Beiträge als Antwort. Danke.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Olafx Mittwoch, 6. August 2014 17:22
-
Du musst zumindest an die Instanz des anderen Fensters gelangen. Also entweder jedes Fenster bekommt eine eigene Variable oder aber du speicherst alle Fenster in einer List(Of T) o.ä.
Tom Lambert - C# MVP
Bitte bewertet- und markiert Beiträge als Antwort. Danke.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Olafx Mittwoch, 6. August 2014 17:21
Alle Antworten
-
Hallo,
deine Form1 kennt die Instanz der 2. Form. Somit kannst du einfach Methoden der 2. Form aufrufen:Dim frm as Form2 sub OpenSecondForm() frm = new form2() frm.Show() end sub sub SendData() frm.SetNewData("Neue Daten") end sub
In deiner Form2 brauchst du nur eine öffentliche (public) Methode zu implementieren, die deine neuen Daten entgegen nimmt.
Für den Umgekehrten Weg solltest du Events verwenden. Dieses wird in Form2 implementiert und von Form1 abonniert. Wenn nun Form2 neue Daten an Form1 senden will, löst es einfach das Event aus. Siehe auch Add Custom Event to a Class in VB.NET
Tom Lambert - C# MVP
Bitte bewertet- und markiert Beiträge als Antwort. Danke.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Olafx Mittwoch, 6. August 2014 17:22
-
-
Du musst zumindest an die Instanz des anderen Fensters gelangen. Also entweder jedes Fenster bekommt eine eigene Variable oder aber du speicherst alle Fenster in einer List(Of T) o.ä.
Tom Lambert - C# MVP
Bitte bewertet- und markiert Beiträge als Antwort. Danke.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Olafx Mittwoch, 6. August 2014 17:21