Laden...

Eine Textbox eines usercontrols von einer Klasse aus beschreiben.

Erstellt von 0odarkio0 vor 7 Jahren Letzter Beitrag vor 7 Jahren 1.353 Views
0
0odarkio0 Themenstarter:in
61 Beiträge seit 2010
vor 7 Jahren
Eine Textbox eines usercontrols von einer Klasse aus beschreiben.

Hallo,

ich habe folgendes Problem:
Ich habe ein usercontrol "Zettel" und eine Klasse.cs "Laden"

im user control steht folgender Code:


        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            if (textBox1.Text != "")
            {
                Liste_[0] = textBox1.Text;
            }
            else
            {
                Liste_[0] = "";
            }
        }

public void texteinfuegen(string text)
        {
            textBox1.Text = "hi";
        }

und in der Klasse "Laden"

    Zettel zettel = new Zettel ();
            zettel.texteinfuegen("hi");

wenn ich jetzt "zettel" aufrufe wird das "textBox1_TextChanged" event aufgerufen. Das ist auch gut so weil ich so den Wert in eine Liste speichere. Aber der Text wird nicht in die Textbox rein geschrieben sondern es wird nur das event ausgelöst.

Wie bekomme ich den text in die Textbox?
Kann mir da jemand helfen?

4.941 Beiträge seit 2008
vor 7 Jahren

Hallo,

und wieder mal der typische Anfängerfehler: du erzeugst ein neues UserControl-Objekt und rufst dann dessen Methode auf (anstatt das UserControl zu benutzen, welches du [wohl] auf deiner Form anzeigst), s.a. meinen Artikel zu Kommunikation von 2 Forms.

PS: Eine Klasse, die "Laden" heißt, hört sich auch eigenartig an.

463 Beiträge seit 2009
vor 7 Jahren
  
        private void textBox1_TextChanged(object sender, EventArgs e)  
        {  
            if (textBox1.Text != "")  
            {  
                Liste_[0] = textBox1.Text;  
            }  
            else  
            {  
                Liste_[0] = "";  
            }  
        }  
  
  

Ist auch einfacher so zu schreiben:


        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            
            Liste_[0] = textBox1.Text;
        }