Forum: PC-Programmierung C#, Wie kann ich Daten zwischen zwei Form's austauschen.


von klatec (Gast)


Lesenswert?

Ich möchte gerne aus einer Form eine zweite aufrufen und aus dieser in 
die 1. Form in ein DataSet Daten schreiben.

Der Aufruf ist kein Problem, jedoch kann ich die Daten von der 2. Form 
nicht in die 1. Form zurückschreiben. Ich würde jemanden bitten der mir 
ein kleines Beispiel geben kann.
Danke!

mfg

klatec

von Julian W. (julian-w) Benutzerseite


Lesenswert?

Wie öffnest du das neue Form?
Als Dialog oder in einem neuen Thread?

von klatec (Gast)


Lesenswert?

So öffne ich die Form.

new WarnListBest(varFirma).ShowDialog();  //Warenliste öffnen, Artikel 
auswählen

von Julian W. (julian-w) Benutzerseite


Lesenswert?

Dann übergib beim erstellen der Form die andere Form als Variable und 
erstelle in der Hauptform die Funktionen, die du brauchst.
1
public class Form1 : System.Windows.Form
2
{
3
4
  public void MachWas()
5
  {
6
     label1.Text = "Irgendwas";
7
  }
8
9
}
10
11
public class Form2 : System.Windows.Form
12
{
13
  Form1 _value;
14
15
  public Form2(Form1 value)
16
  {
17
    _value = value;
18
  }
19
20
  public void test()
21
  {
22
    _value.MachWas();
23
  }
24
25
}

von Arc N. (arc)


Lesenswert?

Anderer Aufbau der Applikation
Beitrag "C# - Anfänger braucht Hilfe beim Umgang mit Klassen --> Zugriff auf Daten"
oder einfach das DataSet in irgendeiner Form an Form2 übergeben (im 
Constructor, als Property, ShowDialog überladen etc.)

von Chris .. (dechavue)


Lesenswert?

Julian W. wrote:
> Dann übergib beim erstellen der Form die andere Form als Variable und
> erstelle in der Hauptform die Funktionen, die du brauchst.

Bitte mach das nicht, das ist alles andere als ein gutes Design.

Bessere Möglichkeiten findest du hier: 
http://www.mycsharp.de/wbb2/thread.php?threadid=5960

greets

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.