hallo nochmals
ich habe grad folgendes probelm bei der programmierung eines programmes, zur veranschulichung muss ich euch kurz mein Programm erklären.
Also ich habe 3 Klassen erstellt, Form1, Dateneingabe1 und Dateneingabe2
Wenn man bei der Form1 auf Daten eingeben klickt so erscheint das Fenster von Dateneingabe1, dort gibt der Benutzer seine Daten ein. Dann klickt der benutzer auf weitere Daten eingeben, dann kommt Dateneingabe2, wo er dann weitere Daten eingibt. Diese eingegeben Daten speichere ich immer in Variablen(wo sonst
), .Wenn der Benutzer dateneingabe2 feritg eingegeben hat klickt er den Button alle Daten eingegeben. diese daten will ich dann zur form 1 schicken. Diese Daten gebe ich dann in einer textbox aus, wo oben steht gesammelte Daten.
Jetzt zum derzeit programmierten:
also ich habe in der Form 1 so programmiert, dass Dateneingabe 1 öffnet bei dem button_Click Daten eingeben. Dort gibt er dann die Daten ein und die speichere ich in einer Variable, die ich im get teil dann gleich wieder zurückschicke. In der Dateneingabe 1 habe ich es so programmiert, dass wenn der Bentzer auf weitere Daten klickt das neue Fenster geöffnet wird. Dort gibt er dann seine Daten ein und die speichere ich auch in Variablen halt in der Dateneigabe 2. Von dort aus schicke ich die Daten zurück zu Dateneingabe1, wo sie empfangen werden sollten und dann weitergeschcikt werden zur Form1.
Das problem ist jetzt aber, dass wenn ich es in Form 1 ausgebe immer wieder diese Fehlermeldung kommt: System.Windows.Forms.TextBox, Text:
und die daten die in dateneingabe2 eingegebn wurden(sind zahlen) werden in der textbox immer als 0 dargestellt, obwohl sie sicher nicht den wert 0 haben, denn wenn ich 3 eingebe ist es ja nicht 0.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| Dateneingabe1 d1=new Dateneingabe1(); if (d1.ShowDialog() == DialogResult.OK) { d1.Daten= daten; d1.Zahl= zahl; } |
die variablen zahl und daten definiere ich global, und als warnung kommt immer, dass diesen beiden werten nichts zugewiesen wird und immer den standardwert 0 haben.
und auch in der Klasse Dateneingabe1 ist einmal die Warnung, dass die zahl der ich von Dateneingabe2 zurückschicke nie etwas zugewiesen wird un immer den standartwerrt 0 hat.
relevatenr Code zu Form1 steht eh oben, wenn sonst noch was gebraucht wird bitte einfach melden
relevanter Code zu Dateneingabe1:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| private void button1_Click(object sender, EventArgs e) { daten=m_tbeingabe.Text; Dateneingabe2 d2=new Dateneingabe2(); if (d2.ShowDialog() == DialogResult.OK) { d2.Zahl= zahl; } } |
die variable zahl habe ich als globale int-variable definiert,da ich sie ja auch in anderen methoden brauche in der klasse
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public int Zahl { get { return zahl; } set {
} } |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public string Daten { get { return daten; } set {
} } |
und bei der Dateneingabe2 Form schauts so aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| public int Zahl { get { zahl= Convert.ToInt32(textBox1.Text); return zahl; } set { } } |
ich hoffe ihr erkennt das problem, denn bei der Forensuche und bei google suche bin ich auf kein ähnliches problem gestoßen
lg