Hilfe bei Textbox (uhrzeit) Klasse

  • VB.NET

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

    Hilfe bei Textbox (uhrzeit) Klasse

    Hallo zusammen,

    Ich habe mir eine Textbox Klasse erstellt die nur Uhrzeiten zulässt.
    Hier funktioniert aber die Delete taste nicht, und wie kann ich da eine Überschreib Funktion hinzufügen.

    Wer kann mir da Helfen?

    anbei mein Code
    (VB 2012 Net 4.5)

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class UhrzeitTextbox
    2. Inherits TextBox
    3. Protected Overrides Sub OnKeyPress(ByVal e As _
    4. System.Windows.Forms.KeyPressEventArgs)
    5. MyBase.OnKeyPress(e)
    6. Select Case Len(MyBase.Text) ' Nur Uhrzeit in Textbox zulassen
    7. Case 0
    8. Select Case Asc(e.KeyChar)
    9. Case 8, 48 To 50
    10. Case Else
    11. e.Handled = True
    12. End Select
    13. Case 1
    14. If (MyBase.Text) = "2" Then
    15. Select Case Asc(e.KeyChar)
    16. Case 8, 48 To 51
    17. Case Else
    18. e.Handled = True
    19. End Select
    20. Else
    21. Select Case Asc(e.KeyChar)
    22. Case 8, 48 To 57
    23. Case Else
    24. e.Handled = True
    25. End Select
    26. End If
    27. Case 2
    28. Select Case Asc(e.KeyChar)
    29. Case 8, 48 To 53, 58
    30. If Asc(e.KeyChar) <> 58 Then MyBase.Text = _
    31. MyBase.Text & ":" ' Automatisches einfügen des Doppelpunktes()
    32. MyBase.SelectionStart = Len(MyBase.Text) + 2
    33. Case Else
    34. e.Handled = True
    35. End Select
    36. Case 3
    37. If (MyBase.Text) = ":" Then
    38. Select Case Asc(e.KeyChar)
    39. Case 8, 48 To 53
    40. Case Else
    41. e.Handled = True
    42. End Select
    43. End If
    44. Case 4
    45. Select Case Asc(e.KeyChar)
    46. Case 8, 48 To 57
    47. Case Else
    48. e.Handled = True
    49. End Select
    50. Case Else
    51. e.Handled = True
    52. End Select
    53. End Sub
    54. End Class
    Setze in Zeile 7 (Code hier im Forum) einen Haltepunkt. Drück auf die Taste, die Du brauchst, identifiziere sie und erweitere den Code entsprechend.
    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!

    chefe82 schrieb:

    verstehe nur Bahnhof :(
    In diese Zeile:

    VB.NET-Quellcode

    1. Select Case Len(MyBase.Text) ' Nur Uhrzeit in Textbox zulassen
    mit F9 einen Haltepunkt setzen,
    Programm in der Entwicklungsumgebung starten
    die betreffende Taste drücken
    wenn das Programm anhält auf den Parameter e klicken und Shift+F9 drücken
    Tastencode identifizieren
    Programm entsprechend abändern.
    Feddich.
    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!

    chefe82 schrieb:

    habe das jetzt so gemacht
    Bei mir sieht das so aus:
    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!