Angeklickte Checkboxen abfragen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von vb-checker.

    Angeklickte Checkboxen abfragen

    Hallo zusammen,

    vielleicht könnt ihr mir einen kleinen Schubs in die richtige Richtung geben...
    Ich versuche herauszufinde, welche Checkboxen angeklickt wurden...

    Ich tue mich deshalb ein bisschen schwer, weil ich normalerweise nur Webentwicklung mache.
    Da gehe ich normalerweise so vor, das ich alle Checkboxen in ein Array packe und frage dann hinterher in eine foreach wieder ab, welche Werte übergeben worden...

    Mit vb2008 Express scheint das nicht ganz so einfach zu sein. Also wahrscheinlich schon, aber irgendwie stehe ich da grad zwischen den Werten 0 und 1sozusagen...

    Ich habe schon raus bekommen, das er mit einem Arraylist wohl nicht arbeiten kann und das Array so notiert werden.... Var()
    Also mit runden Klammern....

    Das Problem, das ich hier habe ist, wie frage ich ihn am besten ab... Alle Checkboxen haben hier unterschiedliche Namen.
    Im Web haben alle den selben Namen und werden als Array zusammengefasst und dann anhand des Values bestimmt..

    Aber in wie weit kann ich Web auf vb übertragen?

    Im Grunde hatte ich folgendes gedacht...
    Ich frage ab, welche sind geprüft, in einer Schleife z.B. und dann schreibe ich das in eine Liste. Jede Checkbox, die ausgewählt ist wird dann in die Lste aufgenommen... Am Ende könnte ich dann diese Liste weiter verarbeiten.

    Viele Grüße,
    Tom
    du kannst die checkboxen als control abfragen hier mal beispiele

    VB.NET-Quellcode

    1. In einem Panel
    2. For Each Antw As Control In Me.TableLayoutPanel1.Controls
    3. If Antw.Name.StartsWith("Tb_User" & (i)) Then
    4. A = Math.Round(CDbl(Antw.Text), 2)
    5. End If
    6. Next
    7. In Form1
    8. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    9. Dim AnzahlTextBoxen As Integer = 0
    10. For i = 2 To 21
    11. For Each foundTxtBox As Control In Me.Controls
    12. If foundTxtBox.Name = ("TextBox" & (i)) Then
    13. AnzahlTextBoxen += +1
    14. End If
    15. Next foundTxtBox
    16. Next i
    17. MessageBox.Show(AnzahlTextBoxen)
    18. End Sub
    So gehts auch:

    VB.NET-Quellcode

    1. For Each ChkB As Control In Me.Controls
    2. If TypeOf ChkB Is CheckBox Then 'Überprüfen, ob das COntrol eine CheckBox ist
    3. If DirectCast(ChkB, CheckBox).Checked = True Then 'Überprüfen, ob sie gechekt ist
    4. ListBox1.Items.Add(ChkB.Name) 'wenn ja, dann Name zur Listbox hinzufügen
    5. End If
    6. End If
    7. Next

    Skybird schrieb:

    Das sind ja Ubisoftmethoden hier !

    Aha...

    Verstehe ich das dann richtig, das ein Control sowas wie eine Oberklasse ist, die alle Objekte auflistet...
    Wenn ich mir das im letzten Posting ansehe, dann durchsucht die Schleife alle Objekte, die vom Typ Checkbox sind...

    Grüße,
    Tom