Textbox Problem !!

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von FAtheone.

    Textbox Problem !!

    Habe eine sicherung geschrieben das denn in textbox1.text = "" ist eine SMGbox kommt und sagt das da edwas fehlt.

    Nun aber im gleichen butten geht führt er das projekt einfach weiter aus !!

    also brauche ich ein if satz der noch ma nach guckt ob in jeder Textbox edwas drinne steht ist egal was da drinne steht

    also das er checkt od überhaupt das drinne steht (ABER NIX BESTIMMTES NUR ALGEMEIN EIN TEXT STEHT ) WIE MACHE ICH DAS !! :pinch: :pinch: :huh: :wacko: :wacko:

    VB.NET-Quellcode

    1. Private Function FullTextBox() As Boolean
    2. ' Hole mir alle TextBoxen, die vorhanden sind
    3. Dim tBs As Object() = (From tb In Controls
    4. Where tb.GetType().Name = "TextBox"
    5. Select tb).ToArray()
    6. For Each tb As Object In tBs
    7. If CType(tb, TextBox).Text = String.Empty Then Return False
    8. Next
    9. ' Wenn der Code bis hierhin ausgeführt wurde, dann steht in jeder TextBox etwas drinnen :P
    10. Return True
    11. End Function

    LaPi schrieb:

    VB.NET-Quellcode

    1. Private Function FullTextBox() As Boolean
    2. ' Hole mir alle TextBoxen, die vorhanden sind
    3. Dim tBs As Object() = (From tb In Controls
    4. Where tb.GetType().Name = "TextBox"
    5. Select tb).ToArray()
    6. For Each tb As Object In tBs
    7. If CType(tb, TextBox).Text = String.Empty Then Return False
    8. Next
    9. ' Wenn der Code bis hierhin ausgeführt wurde, dann steht in jeder TextBox etwas drinnen :P
    10. Return True
    11. End Function
    Scheck code net O,o
    Ich versuchs mal (mit etwas mehr Ordnung und Performance)

    VB.NET-Quellcode

    1. Private Sub cmdCheck_Click('... Handles cmdCheck.Click
    2. For Each ctrl As Control In Me.Controls 'Alle Controls aus Form
    3. If TypeOf ctrl Is TextBox Then 'Control auf Typ TextBox überprüfen
    4. If DirectCast(ctrl, TextBox).Text = String.Empty Then 'Text überprüfen
    5. MessageBox.Show("Fehler: Es müssen alle Textboxen belegt sein", "Fehler", Critical) 'Fehler ausgeben
    6. Exit Sub 'Abbrechen
    7. End If
    8. End If
    9. Next
    10. 'Machen
    11. End Sub
    Linq ist performant, man hätte nur noch den Array als Control() festlegen müssen(natürlich dann noc in der Schleife) und statt CType noch DirectCast verwenden, außerdem würde ich glaub ich auch das hier besser gehen:

    VB.NET-Quellcode

    1. Where TypeOf tb Is TextBox

    (dann wärs auch eindeutiger)
    statt ToArray könnte man das noch direkt in die Schleife einbauen, dann wäre das auch zu 100% optimiert :P
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---