Anzahl der aktiven Checkboxen in Tabs ermitteln

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von fichz.

    Anzahl der aktiven Checkboxen in Tabs ermitteln

    Moin!

    ich habe einen Dialog mit einigen Registern und in einer Liste sind die Namen (NameOfControl) von Checkbox-Controls hinterlegt.

    Diese sollen auf den Status abgeprüft werden und in der Anzahl zusammengefasste werden.

    Bei meiner Suche bin ich auf folgendes gestoßen:

    VB.NET-Quellcode

    1. Dim matches() As Control
    2. matches = Me.Controls.Find(NameOfControl, True)
    3. If matches.Length > 0 AndAlso TypeOf matches(0) Is CheckBox Then
    4. Dim cb As CheckBox = DirectCast(matches(0), CheckBox)
    5. If cb.Checked Then
    6. CountActive += 1
    7. End If
    8. End If


    Aber irgendwie komme ich nicht auf das erwartete Ergebnis.

    Muss man da noch irgendwie auf die Tabs zugreifen?

    Wenn ich mir Me.Controls ansehe, dann wird da ein Count=3 gelieft, was der Anzahl der Steuerelemente außerhalb der Tabs entspricht.

    Kann mir einer weiterhelfen?

    Gruß Jan

    jan99 schrieb:

    Muss man da noch irgendwie auf die Tabs zugreifen?
    So was: Me.Controls vs. Me.TabPage1.Controls
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Hi,

    das Ganze musst du rekursiv aufrufen, da ein ContainerControl innerhalb der TabPage sein kann was wiederum CheckBoxen enthält (und da wieder ein ContainerControl usw.).
    Als Gedankenstütze so in etwa: dotnetfunda.com/codes/show/961…sively-in-csharp-winforms

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten