Alle Textboxen in einer Form ansprechen

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von progglord.

    Alle Textboxen in einer Form ansprechen

    Hallo
    mit folgendem Code kann ich allen Textboxen in meiner Form (im TabControl1) den Text "Hallo" einfügen:

    VB.NET-Quellcode

    1. ' alle textboxn umformatieren
    2. For Each tab As TabPage In TabControl1.TabPages
    3. For Each num In tab.Controls.OfType(Of TextBox)()
    4. num.Text = "Hallo"
    5. Next
    6. Next
    7. ' alle textboxn lumformatieren ENDE

    mit folgendem Code kann ich eine Textbox so formatieren das nur Zahlen zugelassen werden:

    VB.NET-Quellcode

    1. Private Sub TextBox23_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
    2. Select Case Asc(e.KeyChar)
    3. Case 48 To 57, 8, 32
    4. ' Zahlen, Backspace und Space zulassen
    5. Case Else
    6. ' alle anderen Eingaben unterdrücken
    7. e.Handled = True
    8. End Select
    9. End Sub


    1. Frage: Wie kann ich (mit hilfe vom obersten Code in diesem Beitrag) alle Textboxen in meiner Form (im TabControl1) so umformatieren das nur Zahlen zugelassen werden?

    2. Frage wie muss ich

    VB.NET-Quellcode

    1. Select Case Asc(e.KeyChar)
    2. Case 48 To 57, 8, 32
    3. ' Zahlen, Backspace und Space zulassen
    4. Case Else
    5. ' alle anderen Eingaben unterdrücken
    6. e.Handled = True

    umschreiben damit auch kommas zugelassen werden (Beispiel: 3,25)

    Danke im Vorraus für eure Hilfe!
    Gruß Jürgen
    Hi Problem 2 konnte ich wie folgt lösen:

    VB.NET-Quellcode

    1. Select Case Asc(e.KeyChar)
    2. Case 44 To 57, 8, 32
    3. ' Zahlen, Backspace und Space zulassen
    4. Case Else
    5. ' alle anderen Eingaben unterdrücken
    6. e.Handled = True

    statt Case 48 jetzt Case 44
    gruß Jürgen
    muss man denn allen was vorkauen.....naja hier mal den Code zum rausfiltern der Zahlen:

    VB.NET-Quellcode

    1. Function Filtern(ByVal txt As String)As String
    2. Dim fertig As String = ""
    3. For i As Integer = 0 To txt.Length - 1
    4. If IsNumeric(txt.Chars(i)) Or txt.Chars(i) = "," Then
    5. fertig &= txt.Chars(i).ToString()
    6. End If
    7. Next
    8. Return fertig
    9. End Function

    das musst du im Textchanged event der tb aufrufen inetwa so:

    VB.NET-Quellcode

    1. Sub tb_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles tb.TextChanged
    2. Dim send As TextBox = CType(sender, Textbox)
    3. send.Text = Filtern(send.Text)
    4. End Sub