Ich möchte eine Textbox so formatieren, dass die Eingabe automatisch in das Format HH:mm umgewandelt wird. <br>Leider bisher ohne Erfolg. <p> Hat jemand eine Idee, wie man so was realisieren kann?
Announcement
Collapse
No announcement yet.
Vorformatierung einer Textbox
Collapse
X
-
Hallo,
wenn die TextBox über Binding an eine Datenquelle gebunden ist, stellen die Binding-Objekte die Ereignisse <b>Format</b> und </b>Parse</b> zur Verfügung, um die Darstellung der Daten in der Benutzeroberfläche anpassen zu können. Für den Fall, dass die Eingabe des Anwenders umgewandelt werden soll, stellt das <b>Parse</b>-Event die Option zur Verfügung, die Eingabe zuerst in das notwendige Format zu transformieren.
In jedem Fall bleibt die Option des Reagierens auf das Ereignis <b>KeyPress</b> bestehen:
<pre>
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim sKeyStroke As Char
Dim sNULL As Char = Chr(0)
sKeyStroke = e.KeyChar
Select Case sKeyStroke
Case "0" To "9", vbBack, vbCr
' erlaubte Zeichen -> nichts machen
Case "-"
' erlaubtes Zeichen -> nichts machen
Case ","
' erlaubtes Zeichen -> nichts machen
Case Else
sKeyStroke = sNULL
End Select
If sKeyStroke = sNULL Then
e.Handled = True
Else
e.Handled = False
End If
End Sub
</pre>
Comment