Überwachen der Eingabe eines NumericUpDown-Feldes

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Überwachen der Eingabe eines NumericUpDown-Feldes

    Moin!

    ich habe ein NumericUpDown-Feld und immer dann, wenn eine gültige Eingabe vorliegt, dann soll eine andere Schaltfläche im Enabled-Status frei gegeben werden.

    Das sieht dann so aus:

    Visual Basic-Quellcode

    1. Private Sub nud_ZWert_ValueChanged(sender As Object, e As EventArgs) Handles nud_ZWert.ValueChanged
    2. Dim Validierung As New EBL.MapService.Validierung(_Document)
    3. Dim Optionen As New EBL.Optionen.Options(_Document)
    4. ' prüft, ob es sich um zulässige Werte handelt.
    5. If Validierung.XYZ(nud_ZWert.Value, MapService.Validierung.VermessungTypXYZ.Höhe) = k_Invalid_Höhe Then
    6. bt_übernehmen.Enabled = False
    7. Else
    8. bt_übernehmen.Enabled = True
    9. End If
    10. end Sub


    Aber wenn ich etwas Eingebe, dann wird diese Funktion nicht vom Debugger erreicht.

    Hatte mir dann noch das Event "Validated" rausgesucht - allerdings auch ohne Erfolg.

    Kann mir einer von Euch weiterhelfen?

    Gruß Jan
    Ich würde das Handle "Validating" nutzen anstelle von TextChange

    VB.NET-Quellcode

    1. Private Sub NudZahl_Validating(...) Handles NudZahl.Validating
    2. If Validierung.XYZ(nud_ZWert.Value, MapService.Validierung.VermessungTypXYZ.Höhe) = k_Invalid_Höhe Then
    3. bt_übernehmen.Enabled = False
    4. Else
    5. bt_übernehmen.Enabled = True
    6. End If
    7. End Sub


    Du verwendest ziemlich häufig Validierung:
    Dim Validierung As New EBL.MapService.Validierung(_Document)
    If Validierung.XYZ(nud_ZWert.Value, MapService.Validierung.VermessungTypXYZ.Höhe) = k_Invalid_Höhe Then

    Sicher das an den genutzten Stellen die entsprechenden Felder mit Inhalt gefüllt sind?
    There is no CLOUD - just other people's computers

    Q: Why do JAVA developers wear glasses?
    A: Because they can't C#

    Daily prayer:
    "Dear Lord, grand me the strength not to kill any stupid people today and please grant me the ability to punch them in the face over standard TCP/IP."
    Ich würde auch das:

    VB.NET-Quellcode

    1. Private Sub NudZahl_Validating(...) Handles NudZahl.Validating
    2. If Validierung.XYZ(nud_ZWert.Value, MapService.Validierung.VermessungTypXYZ.Höhe) = k_Invalid_Höhe Then
    3. bt_übernehmen.Enabled = False
    4. Else
    5. bt_übernehmen.Enabled = True
    6. End If
    7. End Sub

    in das:

    VB.NET-Quellcode

    1. Private Sub NudZahl_Validating(...) Handles NudZahl.Validating
    2. bt_übernehmen.Enabled = (Validierung.XYZ(nud_ZWert.Value, MapService.Validierung.VermessungTypXYZ.Höhe) = k_Invalid_Höhe)
    3. End Sub


    ändern. Zudem würde ich Steuerelemente nicht mit Umlauten benennen.

    Grüße
    Väinämö