Checkboxen - Text zusammenrechnen ! Wichtig !

Julian95

Grünschnabel
Hallo,
ich bin neu hier und habe direkt eine wichtige Frage an die Community, ich habe ca. 30 Checkboxen und möchte jeder checkbox einen wert zuteilen, z.B.

Checkbox1 = 20
Checkbox2 = 34
Checkbox3 = 4423
Checkbox4 = 476


Was soll passieren ?
Wenn ich auf den Button "Rechen" klicke, soll er alle werte der Checkboxen (Natürlich nur die aktivierten) zusammen rechnen und ausgeben (in einem ganz normalem Label).

Mein problem:
Man kann Checkboxen keine werte zuordnen, deshalb habe ich den text der Checkboxen in die Zahlenwerte geändert.
Nun soll alles so ablaufen wie bereits erklärt, aber ich komme bei dem Code nicht weiter, eigentlich ist es ja nichts anderes als nur alle Texte der aktivierten checkboxen zusammenrechen... Bitte helft mir !

Hier mein bisheriger Code:
Code:
	private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
				 int zahl;
				 if (checkBox1->Checked==true)
				ergebnis=ergebnis+Convert::ToInt32(checkBox1->Text);
				 if (checkBox2->Checked==true)
				ergebnis=ergebnis+Convert::ToInt32(checkBox2->Text);
				 if (checkBox3->Checked==true)
				ergebnis=ergebnis+Convert::ToInt32(checkBox3->Text);

label1->Text = ergebnis;


Leider funktioniert das so garnicht... >.< Bitte um berichtigung oder neuerstellung des Codes ! Wäre wirklich SUPER NETT ****** DANKE !
 
Hallo,

was ist "ergebnis" für eine Variable und wo wird sie erstellt und initialisiert? Ich vermute mal, das ist eine int-Variable, so dass bei der Zuweisung an das Label eine Konvertierung in einen String fällig wird ( ergebnis->ToString() ).

Gruß
MCoder
 
Hallo Julian95,

warum genau willst du denn unbedingt die Texte zusammenrechen? Hinterleg doch eine Logik hinter dem Check-Event, wo du dann direkt mit Zahlen und Integer werden Arbeitest. Da die Texte ja auch Hardcodiert sind, ist es ja nicht weiter schlimm, wenn die Zahlen das auch sind. Wenn die Zahlen klein genug sind und du Ressourcen sparen willst, kannst du ja smallint als Typen benutzen.

Dann sollte eigentlich alles ohne Probleme funktionieren.

Gruß
Hale
 
Zurück