C#: Wert an neue Form übergeben

H

HaraldM

Hallo zusammen,

ich steige gerade in die Programmierung mit Visual C# 2008 ein und habe noch fast keine Ahnung. Ich versuche mich gerade, ein Notenberechnungsprogramm zu basteln
und möchte, dass das Ergebnis in einer neuen Form angezeigt wird.

Ich habe also die FormStart.cs und die FormErgebnis.cs. In FormStart hab ich einen Button gemacht. Klickt man ihn, wird folgender Code aufgerufen:

private void cmdRechne_Click(object sender, EventArgs e)
{
double noten = 1.2 + 2.4 + 2.1;
}

Dann soll das Ergebnis in der Form FormErgebnis.cs im Label1 angezeigt werden, das ich auf dieser Form platziert habe. Deshalb habe ich den Code von oben so erweitert:

private void cmdRechne_Click(object sender, EventArgs e)
{
double noten = 1.2 + 2.4 + 2.1;

FormErgebnis frmErgebnis = new FormErgebnis();
frmErgebnis.Show();
}


Ok, soweit so gut, das Formular wird dann auch angezeigt. Aber wie bekomme ich es jetzt hin, dass Label1 von frmErgebnis den Wert aus "noten" übermittelt bekommt und anzeigt?
 
Zum Beispiel folgendermaßen:

Du erweiterst den Constructor deiner neuen Form um diesen einen double Wert.

Code:
FormErgebnis frmErgebnis = new FormErgebnis(noten);
Das wird dann deinen Form-Objekt erstellen.

Im Konstruktor der Form kannst du dann auf die Privaten Werte deines Formularfeldes zugreifen und kannst dementsprechend einfach die Werte setzen.
 
Dank dir!
Aber wie greife ich dann genau in der zweiten Form auf den übergebenen Wert zu? Kann deinen letzten Satz nicht in Code umsetzen.
 
Ich würde jetzt mal schätzen das ese
Code:
textbox.text = frmErgebnis.not
musst du mal ausprobieren könnte ich mir vorstellen das es so funktioniert.
 
Du musst natürlich einen passenden Konstruktor in der Klasse "FormErgebnis" erstellen:
C#:
public partial class FormErgebnis : Form {
    
    public FormErgebnis(double noten) {
        //  This call is required by the Windows Form Designer.
        InitializeComponent();
        //  Add any initialization after the InitializeComponent() call.
        //  Jetzt irgendwas mit noten machen, zum Beispiel im Fenstertitel anzeigen:
        this.Text = noten.ToString();
        // oder im Label anzeigen:
        Label1.Text = noten.ToString();
    }
}
 
Zuletzt bearbeitet:
Zurück