Wert einer Variablen auf Windows-Forms ausgeben

bolshi

Mitglied
Hallo,
grad arbeite ich den Visual C#-Kurs von video2brain durch. Dort gibt es beim Windows-Forms-Tutorial eine Passage, wo sich ein per klick auf den Button ein sich ändernder Wert einer Variablen direkt auf die Windows-Forms-Oberfläche geschrieben wird. Das Ganze wird u.a. mit folgender Codezeile erreicht:

Code:
LbLInhalt.Text = Glas.getGlasInhalt().ToString();

Kurze Erklärung: Neben der Forms-Klasse existiert eine Glas-Klasse, in der eine getGlasInhalt-Methode existiert, die nichts weiter macht, als den Wert der Variablen inhalt zurückzugeben.

Was muss ich anstellen, damit die o.g. Codezeile Sinn macht?

Gruß und Dank
Ingo
 
Hallo,

also als erstes erstmal mit "new" eine Instanz der Klasse Glas anlegen, damit du überhaupt auf die Methoden der Klasse zugreifen kannst.

LbLInhalt.Text = Glas.getGlasInhalt() reicht völlig, weil getGlasInhalt() schon eine String zurückgibt.

Gruss
 
Verstehe deine Frage nicht wirklich.

Im Beispiel wird ein ToString auf den Rückgabewert der Methode angewandt und dann in ein Label geschrieben. Also nicht direkt auf ein Windows Formular.
 
Folgendes Code-Segment beginnt unterhalb des namespaces:

Code:
    public partial class Form1 : Form
    {
        cGlas_1 Glas = new cGlas_1();

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void btnFuellen_Click(object sender, EventArgs e)
        {
            Glas.fuelle(0.1);
           //  lblInhalt.Text = Glas.getGlasInhalt().ToString();
        }

Sobald ich das fett Gedruckte auskommentiere funktioniert alles fehlerfrei. Im "aktiven" Zustand erhalte ich folgende Fehlermeldung:

Code:
Der Name lblInhalt ist im 
aktuellen Kontext nicht vorhanden.

@Norbert
Ich dachte ein Label auf die Windows Forms zu ziehen. Bin dann aber in der Label-Methode. Im Tutorial steht die Anweisung innerhalb der Button-Methode(n). Kannst du eben die Vorgehensweise beschreiben?
 
Das liegt daran das das control lblInhalt nicht existiert in Form1. Also lege es erstmal an.
 
Hatte in der Zwischenzeit den thread zuvor wg. dieses Problems editiert. Ziehe ich ein Label-Control auf die Forms, bin ich per Doppelklick im Label. Im Tutorial steht die Anweisung innerhalb der Button-Methode(n).
Meine Idee sah jetzt so aus:
Code:
/*
        private void label1_Click(object sender, EventArgs e)
        {
            label1.Text = Glas.getInhalt().ToString();
        }
 */

Ist jedoch falsch.
 
Hatte in der Zwischenzeit den thread zuvor wg. dieses Problems editiert. Ziehe ich ein Label-Control auf die Forms, bin ich per Doppelklick im Label. Im Tutorial steht die Anweisung innerhalb der Button-Methode(n).
Meine Idee sah jetzt so aus:
Code:
/*
        private void label1_Click(object sender, EventArgs e)
        {
            label1.Text = Glas.getInhalt().ToString();
        }
 */

Ist jedoch falsch.


label1.Text = Glas.getInhalt().ToString(); gehört auch das Klickevent vom Button und nicht in das Klickevent vom Label.
 

Neue Beiträge

Zurück