Laden...

Wie kann ich ein int-Array in einer Textbox untereinander darstellen?

Erstellt von Alex_1410 vor 3 Jahren Letzter Beitrag vor 3 Jahren 919 Views
A
Alex_1410 Themenstarter:in
2 Beiträge seit 2020
vor 3 Jahren
Wie kann ich ein int-Array in einer Textbox untereinander darstellen?

Hallo zusammen.

Ich bin der Alex und ganz neu im Forum und auch bei C#.
Um mich herum viele Dicke C# und WPF Wälzer, aber irgendwie bringen die mich nicht weiter.

Hab da ein kleines Problem.

Das gewünschte Ergebnis sollte eigentlich sein,

das in der TextBox die Zahlen 1-9 untereinander ausgegeben werden sollen.
Aber er schreibt die Zahlen immer wieder direkt übereinander und
sehr seltsam finde ich es, dass er die Texte nach der Messagebox,
erst anzeigt, wenn die Schleife durchgelaufen ist. Eigentlich müsste
er die Texte doch 10 mal anzeigen, weil die schleife so oft durchläuft?

Weiß jemand, wie man den Text richtig in der TextBox ausgibt und wieso
die zwei Textzeilen erst angezeigt werden, nach dem die Schleife beendet wurde?

Mein Code:

int[] mehrzahlen = new int[10]; 

private void Button_Click(object sender, RoutedEventArgs e)
        {
            
            for (int i = 0; i<10;i++)
            {

                txt_box.Text = "\n Array:" + Convert.ToString(i) + "\n\r" + "Hallo";
                MessageBox.Show(Convert.ToString(i));

                txt_box.Text= "Hallo" + "Das ist ein Textausgabe versuch" 
                txt_box.Text = "Dieser Text sollte unterhalb der Textbox angezeigt       werden";
                
            }
D
161 Beiträge seit 2017
vor 3 Jahren

Bitte poste doch den Code richtig.

Siehe Wie poste ich richtig? Punkt 6.

W
955 Beiträge seit 2010
vor 3 Jahren

Hallo,
die Textbox muß Mehrzeilendarstellung unterstützen. Außerdem muß du den neuen Teilstring zu den bestehenden dazupacken also nicht setzen "=" sondern anfügen "+="

B
22 Beiträge seit 2018
vor 3 Jahren

Hallo Alex,

wo fangen wir an 😉

  1. Er schreibt den Text in die txt_box nicht übereinander sondern er überschreibt den Text.

Hier ein paar Tipps:

Schau dir die TextBox.Multiline Eigenschaft an.
Schau dir die TextBox.AppendText() Methode an.
Schau dir den "+=" Operator an.

  1. Der Text wird nicht aktualisiert weil ein Forms-Programm immer nur mit einem Thread arbeitet.

Hier ein Tipp:

Schau dir diesen Link Label text doesn't get updated until the whole loop is completed an. Die Antwort auf die Frage ist sehr gut.

Das geht in Richtung Threading. Ich denke aber das das aktuell noch deine Kenntnisse drastisch übersteigt. Daher versuch erstmal nur zu verstehen warum es nicht geht. Eigne dir dann erstmal die Grundlagen an und irgendwann kannst du dich wieder dem Threading zuwenden. Das ist nicht böse gemeint sondern schützt dich vor Frust das Programmieren aufzugeben 😉

Grüße

Brymax

A
Alex_1410 Themenstarter:in
2 Beiträge seit 2020
vor 3 Jahren

Hallo witte und Brymax,

vielen Dank für eure schnellen Antworten.

Das mit dem += hat sofort geklappt.
Werde mich auch gleich intensiver mit diesem Thema beschäftigen.
und mir auch die TextBox.Multiline und TextBox.AppendText() Methode anschauen und ausprobieren.

* Duesemannr… den nächsten Code poste ich richtig.

Grüße
Alex