Löschen von Textboxen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Pes2009.vb.

    Löschen von Textboxen

    Hi,
    also ich wollte mal fragen wie es geht, dass ich mehrere Textboxen lösche. Das geht ja mit For Each tb...
    Aber wie mache ich es, dass wenn ich auf einen Button klicke, nur die Textbox1 geleert wird, wenn auch Checkbox1 aktiviert ist, Textbox2 nur wenn Checkbox2 aktiviert ist usw...
    Kann mir da jemand helfen?


    Edit by LaMa5:
    - hat nichts im Hauptforum zu suchen
    -->*moved* (=> Grundlagen)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()

    Button1.click

    If checkbox1.checked = true then
    textbox1.text = ""
    end if

    if checkbox2.checked = true then
    textbox2.text = ""
    end if

    if checkbox3.checked = true then
    textbox3.text = ""
    end if



    Meinst du das so ungefähr?
    Schau dir die grundlagen der programmierung an, da steht alles beschrieben wie man mit die schleifen oder etc umgeht !

    Dein Thread gehört nicht in Hauptforum, in zukunft poste solche fragen in "Grundlagen"

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Alex2000“ ()

    VB.NET-Quellcode

    1. if checkbox1.checked = true then
    2. textbox1.clear()
    3. end if
    4. if checkbox2.checked = true then
    5. textbox2.clear()
    6. end if

    so müsste es gehn wenn ich dich richtig verstanden habe
    (nicht getestet dürfte aber gehn!)
    mfg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ninne20“ ()

    Also es sieht so aus:

    Textbox1 Checkbox1 [Checked]
    Textbox2 Checkbox2
    Textbox3 Checkbox3
    ... ...
    Textbox19 Checkbox19 [Checked]
    Textbox20 Checkbox20

    [Button]

    Wenn ich auf den Button klicke, sollen in dem Fall Textbox1 und Textbox19 geleert werden.
    Mit

    VB.NET-Quellcode

    1. If Checkbox1.checked = true Then
    2. Textbox1.clear
    3. end if

    Ist das etwas aufwendig...
    Schau dir mal folgendes an.

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private TextBoxArray As New List(Of TextBox)
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. For Each Control As Control In Me.Controls
    5. If TypeOf Control Is TextBox Then
    6. TextBoxArray.Add(CType(Control, TextBox))
    7. End If
    8. Next
    9. For x As Integer = 0 To TextBoxArray.Count - 1
    10. TextBoxArray.Item(x).Clear()
    11. Next
    12. End Sub
    13. End Class
    Na hattest doch schon For Each, bischel gesuche hier im Forum hätt dich sicherlich zum Ziel geführt.
    Zudem musst du die Verbindung zwischen Textbox und Checkbox anders regeln als nur über den Namen, z.B. in der Tag Eigenschaft der Checkbox den Textboxnamen Hinterlegen Checkbox1.Tag = TextBox1

    VB.NET-Quellcode

    1. For Each oControl In Me.Controls
    2. If TypeOf oControl Is Checkbox Then
    3. Dim oCheck As CheckBox = DirectCast(oControl, Checkbox)
    4. If oCheck.Checked Then
    5. Dim oText As Textbox = DirectCast(oCheck.Tag, Textbox)
    6. oText.Clear()
    7. End If
    8. End If
    9. Next

    VB.NET-Quellcode

    1. For Each oControl In Me.Controls
    2. If TypeOf oControl Is Checkbox Then
    3. Dim oCheck As CheckBox = DirectCast(oControl, Checkbox)
    4. If oCheck.Checked Then
    5. Dim oText As Textbox = DirectCast(oCheck.Tag, Textbox)
    6. oText.Clear()
    7. End If
    8. End If
    9. Next

    Wow danke! Ich habe es ein bisschen durchgeschaut... eigentlich ganz logisch, ich bin nur nicht ganz drauf gekommen. Danke!