Wert eines Textbox

  • VB.NET

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

    Wert eines Textbox

    ich habe ein Textbox in der ich Werte eingebe.
    Ich habe in meinem Programm eine NBegrenzung der Werte eingefügt um den Wertbereich
    nicht zu überschreiten.
    Zum Beispiel Wert zwischen 500 und 5000.
    Jetzt möchte ich dass wenn man einen Wert kleiner als 500 eingibt, dass es 500 in meinem Textbox steht
    und wenn man ein Wert grösser als 5000 eingibt, dass es 5000 in meinem Textbox steht.
    In Visual basic programmiere ich gerade.
    ganz banal:

    VB.NET-Quellcode

    1. Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    2. If CInt(TextBox1.Text) > 5000 Then
    3. TextBox1.Text = CStr(5000)
    4. End If
    5. If CInt(TextBox1.Text) < 500 Then
    6. TextBox1.Text = CStr(500)
    7. End If
    8. End Sub


    Um die Eingabe von Zahlen zu erleichtern sollte man vllt. ein anderes Event nehmen..z.B.: "TextBox1.Leave"
    ..und ausserdem sollte der Wert der TextBox auf "Zahlen" und "nothing" geprüft werden!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Morrison“ ()

    @lieuthnant:
    Du musst dir als erstes genau den Moment überlegen, in dem der Textbox-Wert üprüft und ggfs. korrigiert werden soll.
    Weil während du reinschreibst, treten ja "ungültige" Zustände auf, und trotzdem darf das Proggi nicht den Text verändern (weil der User schreibt ja noch).

    Dann überlegen, wie du diesen Moment im Programm erkennen kannst - etwa wenn der User einen Ok-Button drückt?

    @Morrison: Ja, das ist genau wie's nicht geht - hihi!
    @lieuthnant Wie wäre es mit einem NumericUpDown-Control?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!