Daten werden nicht an Textbox übergeben



  • Das hatte ich mir auch schon überlegt, da ich dies von einer anderen Form kopiert habe.

    Aber wenn ich einfach eine neue Textbox erstelle und versuche zu füllen klappt es auch nicht.

    Selbst hier wird nichts gefüllt :

    if (dr.IsDBNull(4) == true)
                            {
                                textBox1.Text = "leer";
                            }
                            else
                            {
                                textBox1.Text = "gefüllt";
                            }
    

    Kann es irgendwie an den Einstellungen an meiner Form liegen?



  • Weberknecht schrieb:

    Rufst du Invalidate() auf?

    Nein

    Hast du mal versucht, Invalidate() NACH dem Füllen deiner Form aufzurufen?



  • Ich habe Invalidate() nun nach dem Füllen aufgerufen (am Ende mit finally, dass es nach dem Füllen ist)
    Es ändert sich aber nichts, d.h. immer noch ins in der Textbox.

    Kann es sonst noch damit zusammen hängen, dass ich ein Aufruf von einer anderen Form aus mache?

    Aufruf auf Form 1:

    private void btnBearbeiten_Click(object sender, EventArgs e)
            {
                try
                {
                    int c = dgvEingetrageneBerichte.CurrentRow.Index;
    
                    BerichteBearbeiten bearb = new BerichteBearbeiten();
                    bearb.Nr = Convert.ToInt16(dgvEingetrageneBerichte[16, c].Value.ToString());
                    bearb.Show();
    
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
    


  • Nimm mal bitte das Activated Event anstatt das Load Event, kann sein das die Controls noch nich komplett durchgeladen sind. Hab den LifeCycle grad nich komplett im Kopf.



  • Leider auch ohne Erfolg ... 😞

    Das "komische" daran ist, dass ich den Teil einmal als separates Programm hatte und nun in ein größeres einbauen möchte.
    Daher habe ich einfach alles von meinem ersten Projekt kopiert und beim neuen Projekt eingefügt.

    Eigentlich kann da doch nichts schief gehen? 😕
    Es läuft ja auch alles, bis auf das Füllen der Textboxen (diese brauch ich aber, wenn Änderungen gemacht werden sollen)



  • Werden die Texte in den anderen beiden TextBoxen 'txtBerichtnr' und 'txtSeriennr' denn richtig angezeigt? (Sehr eigenartig ist aber, daß selbst eine neue TextBox anscheinend nichts anzeigt!?).
    Ansonsten zeig mal den Ausschnitt aus der Form.Designer.cs, wo die Eigenschaften der 'txtFehler' gesetzt werden.

    P.S: Deine Abfragen auf "== true/false" sind unnötig. Besser ist

    if (!durchgelaufen)
    {
      if (dr.IsDBNull(0))
      {
    
      }
    }
    


  • Nein, es wird in keiner Textbox etwas angezeigt

    Danke für den Tipp!

    Anbei der Code aus dem Designer:

    // txtFehler
    // 
    this.txtFehler.Location = new System.Drawing.Point(141, 235);
    this.txtFehler.Multiline = true;
    this.txtFehler.Name = "txtFehlerursache";
    this.txtFehler.Size = new System.Drawing.Size(333, 55);
    this.txtFehler.TabIndex = 31;
    


  • Mal ganz blöd: Textfarbe im Projekt zufällig verändert?

    Da es aus einem anderen Programm stammt: namespace angepasst?



  • Nein, leider auch nicht. 😞
    Textfarbe ist schwarz und namespace hab ich alle übernommen.

    Hab versucht eine einfache Methode nur auf der Form zu machen, geht aber auch nicht ... also Textbox bleibt leer.

    private void button1_Click(object sender, EventArgs e)
            {
                textBox2.Text = "Test";
            }
    

    Nur wenn ich "hart" über die Entwurfsansicht Text eintrage, wird dieser auch sichtbar.



  • Ok also ich bin noch der Meinung das die Schleife doch mehr als einmal läuft und dir das wieder leer macht. Anderer Versuch, setz mal ein komplett neues Projekt auf, mit nem Form und einer Textbox und versuch diese Textbox zu füllen.
    Langsam gehen mir die Ideen aus 😞


  • Administrator

    Probier doch mal das Problem in einem neuen Projekt zu reproduzieren. Konzentrier dich nur auf diesen Teil und baue ihn sorgfältig nach (kein Copy&Paste!). Würde mich nicht erstaunen, wenn es irgendwo ein kleiner aber feiner Denkfehler ist, welcher sich eingeschlichen hat.

    Grüssli


Anmelden zum Antworten