Überprüfen div. Controls

  • VB.NET
  • .NET (FX) 4.0

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

    Überprüfen div. Controls

    Hallo Leute,

    eine Frage:
    Wie kann man am "einfachsten" überprüfen ob div. Controls und auch alle Controls auf einer Form bearbeitet worden sind?

    Momentan, bei TextBoxen, mach ich folgendes.. (was ich sehr unschön finde, vielleicht gibt es ja noch andere Wege..?)


    VB.NET-Quellcode

    1. 'Bei einer TextBox noch nicht all zu schlimm
    2. If TextBox1.Text.Length > 0 Then
    3. Button1.Enabled = True
    4. Else
    5. Button1.Enabled = False
    6. End If
    7. 'Jetzt sind es aber halt mal 4 TextBoxen und 3 ComboBoxen..
    8. If TextBox1.Text.Length > 0 AND TextBox2.Text.Length > 0 AND TextBox3.Text.Length > 0 ... AND ComboBox3.Text.Length > 0 Then
    9. ...


    Je nach Menge der Controls ist das ziemlich.. unschön, geht sicher einfacher vielleicht sogar effizienter??
    In dem Beispiel hab ich den TextBoxen mal keinen Namen gegeben,.. Natürlich haben diese andere namen... :whistling:
    Option Strict On!
    Ganz allgemein gilt die Devise: Trenne Oberfläche und Daten.
    Trenne diese Bereich vor allem in deim Denken, weil was man im Kopf durcheinanderbringt, wird im Code kaum besser werden ;)

    Jo, und hier ist das Problem doch wohl nicht, welche Controls bearbeitet wurden, sondern ob die Daten, die eingegeben wurden, zulassig ("valide") sind.

    Das ist ein Grund-Konzept der Datenverarbeitung, der Fachbegriff dafür ist "Validierung". Und Validierung wird in VB.Net auch reichhaltig unterstützt, vlt. gibt activevb.de/tipps/vbnettipps/tipp0083.html dir ja einige Denk-Anstöße.
    Der Link zeigt übrigens längst noch nicht das Ende der Fahnenstange, sondern wenn man wirklich mit Datenmodellen arbeitet, können die Datenklassen auch selbst überprüfen, ob sie valide sind und so Sachen.
    Okay. Die Erfahrung habe ich jetzt öfter gemacht (Performance Verlust ohne Ende), also trennen der Oberfläche und Daten.

    Manche Felder werden anhand der Eingabe geprüft,
    manche kann ich leider nicht wirklich überprüfen (Da die Eingabe dem User überlassen ist :/ )

    Die Events "Validating" und "Validated" (?ErrorProvider habe ich nicht gefunden, irgendwie hab ich die Komponente nicht 8| ) werde ich mir mal genauer anschauen :saint:
    Option Strict On!

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

    also meist wenn ich ein tut verlinke, ist üblicherweise ein Download dabei, mit funktionierendem Code.
    Sich mit einem Tut auseinandersetzen bedeutet zuallererst, den Sample-Code laufen zu lassen, und zu gucken, ob das ühaupt stimmt, wovon im Tut die Rede ist, und ob es für einen relevant ist.

    Funktioniert der dortige Download etwa nicht?
    Das Beispiel kann ich allerdings heute Abend erst downloaden. (Sicherheitsgründe 8| )
    ...bis die Seite freigeschaltet wird wohl dauern. An dem Schalter sitze ich nicht. :whistling:

    Edit:
    @ErfinderDesRades
    Habe nun das Beispiel runtergeladen und werde es durchgehen,
    danke Dir. Sobald ich fragen hierzu hätte, würde ich gerne nochmal darüber schreiben/sprechen.
    Ansonsten liefer ich hier ein Beispiel mit einer "Lösung" und hoffe das diese Aufgabe auch gut gelöst/umgesetzt worden ist.
    Option Strict On!

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