Hallo,
Nur zur Info:
ich habe 62 Checkboxen, wenn ich jede einzelne aktiviere wird der "Tag = Zahl" der Box in einem Label hinzugezählt bzw. beim deaktivieren wieder abgezogen.
Mein Problem Nr.1:
Ich möchte nun, dass der Nutzer beim verwenden des Programms nicht mehr als 3 Boxen gleichzeitig aktivieren darf. Das heißt, wenn er ein 4. aktivieren möchte, dann soll keine Meldung kommen sondern er muss einfach ein anderes wieder deaktivieren.
Weiß einer wie ich das umsetzen kann?
Mein Problem Nr.2:
Ich habe das Abfragen der Boxen laut untenstehenden Code gestaltet. Hätte es da eine einfachere Möglichkeit gegeben?
Ich meine es funktioniert ja prima wie ich es gelöst habe, aber ich hatte für 62 Boxen doch schon eine viertel Stunde Arbeit um den Code entsprechend zu schreiben![Smile :-) :-)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Also das Problem Nr.2 ist eigentlich keines nur wäre es gut zu wissen, wie man es hätte elegenter lösen können.
Mir kam dann noch in den Sinn es so zu gestalten. Es funktioniert einmal, aber das Programm meckert dann, weil noch ander Elemente in dem Formular sind, wie z.B. ein Button. Das heißt im Debug stimmte die Convertierung nicht und die Exe hat mir gesagt, das der Button da nicht reinpasst, den ich aber dort brauche![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
Nur zur Info:
ich habe 62 Checkboxen, wenn ich jede einzelne aktiviere wird der "Tag = Zahl" der Box in einem Label hinzugezählt bzw. beim deaktivieren wieder abgezogen.
Mein Problem Nr.1:
Ich möchte nun, dass der Nutzer beim verwenden des Programms nicht mehr als 3 Boxen gleichzeitig aktivieren darf. Das heißt, wenn er ein 4. aktivieren möchte, dann soll keine Meldung kommen sondern er muss einfach ein anderes wieder deaktivieren.
Weiß einer wie ich das umsetzen kann?
Mein Problem Nr.2:
Ich habe das Abfragen der Boxen laut untenstehenden Code gestaltet. Hätte es da eine einfachere Möglichkeit gegeben?
Ich meine es funktioniert ja prima wie ich es gelöst habe, aber ich hatte für 62 Boxen doch schon eine viertel Stunde Arbeit um den Code entsprechend zu schreiben
![Smile :-) :-)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Also das Problem Nr.2 ist eigentlich keines nur wäre es gut zu wissen, wie man es hätte elegenter lösen können.
Code:
Private Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
'Abrage ob die Box aktiviert ist oder nicht, dann wird der Wert hinzugezählt oder abgezogen (das ganze passiert nun 62 Mal)
If Me.CheckBox1.Checked Then
zähler = zähler + Me.CheckBox1.Tag
Me.lblgesamtWurf.Text = zähler
Application.DoEvents()
Else
zähler = zähler - Me.CheckBox1.Tag
Me.lblgesamtWurf.Text = zähler
Application.DoEvents()
End If
End Sub
Mir kam dann noch in den Sinn es so zu gestalten. Es funktioniert einmal, aber das Programm meckert dann, weil noch ander Elemente in dem Formular sind, wie z.B. ein Button. Das heißt im Debug stimmte die Convertierung nicht und die Exe hat mir gesagt, das der Button da nicht reinpasst, den ich aber dort brauche
![Confused :confused: :confused:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f615.png)
Code:
Dim i as Short
For i = 1 to 62
If CType(Me.Controls(i), CheckBox).Checked Then
zähler = zähler + CType(Me.Controls(i), CheckBox).Tag
Me.lblgesamtWurf.Text = zähler
Application.DoEvents()
Else
zähler = zähler - CType(Me.Controls(i), CheckBox).Tag
Me.lblgesamtWurf.Text = zähler
Application.DoEvents()
End If
Next