Prüfung von Eingabefelder

  • VB.NET

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

    Prüfung von Eingabefelder

    hallo zusammen,

    ich möchte in VB 2010 die Eingaben von textfelder prüfen. Falls dies die Bedingung nicht erfüllt, muss eine Fehlermeldung ausgegeben werden und gleichzeitig muss der Textfeld rot sein.

    Dies habe ich bis jetzt nicht geschafft. Damit ihr durchblicken könnt, füge ich diesen Blockcode ein:

    1. ich habe der genannte Textbox in eine klasse geschrieben:

    <WPFControlLibrary_ZWIControls:ZwiTextBox HorizontalAlignment="Stretch" VerticalAlignment="Stretch" TextBoxWidth="80" ShowDescription="True" Path="ROOT.test" Name="TextTest" / >

    2. In eine andere Klasse möchte ich die Testfelder auf die Richtigkeit prüfen und den Fehler ausgeben( aber bitte nicht mit msgbox wie ich gemacht habe, sondern nur wenn man die Maus auf den roten Textbox macht) und die Hintergrundfarbe des Textfelds auf rot ändern bzw. setzen. Da ich nicht weiß wie ich machen sollte , habe ich mit msgbox gemacht, aber dies ist nicht so gut . So sieht es bei mir aus. Möglicherweise sollte die falschen Werte der TextFelder auch gelöscht werden.


    Public Overridable Sub prüfTest(ByVal zwiData As ZwiData, ByRef oZwiList As List(Of ZwiPossible))

    If zwiData.Value < 10 Or zwiData.Value > 653 Then
    MsgBox("gültiger Wert eingeben")

    ' If zwiData.CheckValid = False Then
    ' End If
    ' ResetValue = Nothing
    End If
    End Sub


    Ich würde mich auf eure Hilfe freuen. Danke im Voraus. Vg. Herma

    link_275 schrieb:

    Keine Ahnung was du suchst ... Was soll hier einen Fehler darstellen?


    link_275
    hi, ich meine: den textbox habe ich Name="TextTest" gennant. Dieses sollte nur einen Werte (bzw. eine Zahl) zwischen 10 und 653 annehmen. Die werte kleiner als 10 oder größer als 653 sollten nicht akzeptiert werden. Anders gesagt wird in diesem Fall der Hintergrund des Felds rot als zeichen von Fehler mit entsprechender Meldung. Wie ich es gelöst habe die Meldung erfolgt über message box, was ich nicht haben will, außerdem ist die Farbe bei falscher Eingabe in meinem nicht vorhaden. ich weiß nicht wie ich es klarer ausdrücken kann.

    Grüße. Herma

    VB.NET-Quellcode

    1. #Region "Werte_Pruefen"
    2. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    3. If IsNumeric(TextBox1.Text) Then
    4. If CInt(TextBox1.Text) >= 10 And CInt(TextBox1.Text) <= 653 Then
    5. TextBox1.BackColor = Color.White
    6. Else
    7. TextBox1.BackColor = Color.Red
    8. End If
    9. Label1.Text = ""
    10. Else
    11. Label1.Text = "Damit kann nicht gerechnet werden!"
    12. TextBox1.BackColor = Color.Red
    13. End If
    14. If TextBox1.Text = "" Then : TextBox1.BackColor = Color.White : Label1.Text = "Kein Wert vorhanden" : End If
    15. End Sub
    16. #End Region


    So sieht das dann in etwa aus: forum_code.rar



    link_275
    Hello World