Checkboxen - Text zusammenrechnen ! Wichtig !



  • Hallo, (Wirklich wichtig für ein Schulprojekt)
    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.

    DIE FRAGE
    Bei Klick auf den Button sollen alle Texte der aktivierten checkboxen zusammengerechnet und ausgegeben werden, nix großes aber ich schaffs einfach nicht !!!

    Hier mein bisheriger 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 !



  • Ich kann DIch gerne ins Projekteforum verschieben, dann kannst Du mal fragen, wer bereit ist dies DIr zu machen.
    Falls Du hier bleiben willst, solltest Du eine konkrekte Frage stellen...



  • Okay.... editiere eine richtige Fragenstellung rein !
    Ps: Kann ich es nicht in beide Foren Packen ? Es ist wirklich wichtig für ein projekt von mir für die Schule !!!



  • Leider funktioniert das so garnicht...

    Was funktioniert wie nicht?



  • Ja das zusammenrechnen des textes funktioniert mit meinem code nicht 😃 ?



  • Was klappt denn da mit dem Ausrechnen nicht?

    private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) {
                     int zahl;
                     if (checkBox1->Checked==true)
                     {
                         zahl = Convert::ToInt32(checkBox1->Text);
                         ergebnis=ergebnis+zahl;
                     }
                     label1->Text = ergebnis->ToString(); 
    }
    

    Müsste doch funktionieren, oder nicht?



  • Funktioniert ! Vielen Dank !

    ABER !!!!
    Jetzt habe ich noch ein problem... ich will das er nach erneutem klicken auf den button wieder bei 0 startet !

    mit label1->Text=""; funktioniert es nicht... !



  • ergebnis = 0;
    

    ??? Wo liegt denn das Problem?

    int result = 0;
    int tmp = 0;
    foreach (Control con in this.Controls)
    {
        if (con->GetType()->ToString() == CheckBox::typeid)
        {
            CheckBox^ box = (CheckBox)con;
            if (box->Checked)
            {
                tmp = Convert::ToInt32(box->Text);
                result = result + tmp;
            }
        }
    }
    label1->Text = result->ToString();
    

    Beginnt immer bei 0 und ist auch kürzer, als wenn du jede Checkbox einzeln durchgehst.



  • Klappt alles ! Vielen Dank !!



  • Tut mir leid, eine kleine Berichtigung:

    for each (Control con in this->Controls)
    

    So muss es heißen 😉


Anmelden zum Antworten