Laden...

Aufsummieren in Text Box nach Button Click

Erstellt von Apollo56 vor einem Jahr Letzter Beitrag vor einem Jahr 753 Views
A
Apollo56 Themenstarter:in
13 Beiträge seit 2022
vor einem Jahr
Aufsummieren in Text Box nach Button Click

Also ich habe zwei TextBoxen in denen Zahlen eingetragen werden sollen.
Die beiden Zahlen sollen durch Button Click miteinander multipliziert werden und werden in der RichTextBox eingetragen.
Anschließend möchte ich, dass in einer weiteren TextBox die Werte aus der RichTextBox immer summiert werden.
Also wenn in TB1 der Wert 3 eingetragen wird und in TB2 der Wert 1, dann wird in der RTB der Wert 3 angezeigt (durch Button Klick). Trage ich neue werte in die TBs ein z.B. 2 und 3 dann wird in der RTB der Wert 6 hinzugefügt (durch Button klick).
Jetzt soll durch den ersten Button klick der Wert 3 in der TB3 stehen und wenn ich noch einmal klicke soll der Wert 9 darin stehen (weil 3 + 6).

16.807 Beiträge seit 2008
vor einem Jahr

Les Dir nochmal [Hinweis] Wie poste ich richtig?
Du musst schon eine Frage stellen, die man beantworten kann.

Das Forum ist kein Code-Generator für Hausaufgaben 😉
Coden musst schon selbst lernen.

A
Apollo56 Themenstarter:in
13 Beiträge seit 2022
vor einem Jahr

Meine Frage lautet, wie kann ich mit jedem Klick in der TB3 aufsummieren?
Wie ich eine Summe in die TB bekomme weiß ich, aber nicht wie der neue Wert immer wieder dazu addiert werden kann

190 Beiträge seit 2012
vor einem Jahr

Indem du zu dem alten Wert den neuen Wert addierst. Das funktioniert natürlich nicht mit String. Du musst die Eingaben also vorher in eine Zahl umwandelt. Stichwort: Parse
How to convert a string to a number (C# Programming Guide)

  • Wer lesen kann, ist klar im Vorteil
  • Meistens sitzt der Fehler vorm Monitor
  • "Geht nicht" ist keine Fehlermeldung!
  • "Ich kann programmieren" != "Ich habe den Code bei Google gefunden"

GidF

A
Apollo56 Themenstarter:in
13 Beiträge seit 2022
vor einem Jahr

also aufsummieren hat funktioniert. Neues Problem ist, dass er jetzt in die TB3 immer die Werte einträgt. Also nur hinzufügt und nicht den alten Wert durch den neuen Wert ersetzt.
also wenn dort vorher 10 stand, steht daneben dann 15. Wie kann ich den altern Wert ersetzen lassen? Das ist so weit mein Code.


int mannschaftstore;
int i = torquote * spiele;
mannschaftstore = 0;
mannschaftstore = mannschaftstore + i;
          
string mannschaftstoreString = mannschaftstore.ToString();
tbMannschaftstore.AppendText(mannschaftstoreString);

190 Beiträge seit 2012
vor einem Jahr

grübel grübel
Was willst du uns mit dem Beitrag sagen? Gehört der Code zum Text? Ich verstehe nicht, was du gemacht hast und was du willst.
Ich vermute etwas, das würde aber bedeuten, dass du meinen Beitrag nicht gelesen/verstanden hast.

  • Wer lesen kann, ist klar im Vorteil
  • Meistens sitzt der Fehler vorm Monitor
  • "Geht nicht" ist keine Fehlermeldung!
  • "Ich kann programmieren" != "Ich habe den Code bei Google gefunden"

GidF

P
441 Beiträge seit 2014
vor einem Jahr

Das ist so, weil du immer Text anhängst.

Da wir wissen, was in deinem Control steht, eine generelle Empfehlung:
Bau dir den Text zusammen, so wie er dort stehen soll, z.B. mit


string text = $"Tore {mannschaftstore}";

und setze ihn dann, anstatt zu appenden.

A
Apollo56 Themenstarter:in
13 Beiträge seit 2022
vor einem Jahr

double mannschaftstore = double.Parse(tbMannschaftstore.Text);
            mannschaftstore = torespieler + mannschaftstore;
            string ergebnis = Convert.ToString(mannschaftstore);
            tbMannschaftstore.AppendText(ergebnis);

ich habe jetzt Pause benutzt und es summiert auf, aber leider noch nicht richtig.
wenn ich in der Textbox 1 stehen habe und die nächste Summe 2 ist, dann kommt auch 3 raus. Wenn ich dann aber als summe 3 habe kommt als nächstes 16 raus, da in der Textbox nebeneinander das steht 1316, da er nicht 3 + 3 rechnet, sondern 13 + 3

A
Apollo56 Themenstarter:in
13 Beiträge seit 2022
vor einem Jahr

ich habs rausgefunden. musste nur das AppendText entfernen

P
441 Beiträge seit 2014
vor einem Jahr

Merkst du, dass das wahnsinnig kompliziert ist, so wie du es aufgebaut hast?

Generell baut man sich für soetwas ein Datenmodell (Grundlegend ist das in [Artikel] Drei-Schichten-Architektur erklärt), in dem Fall würde es reichen sich die Anzahl Tore zu in einem Feld zu speichern (ganz pragmatischer Ansatz) und dann jeweils nur das berechnete Ergebnis in das Textfeld zu schreiben oder gleich auf Datenbindung zu setzen, anstatt jedesmal den geschriebenen string wieder in eine Zahl zu parsen - was übrigens dazu führt, dass dein Programm abstürzt wenn dort einmal keine Zahl drin steht.