Hallo
ich möchte verhindern, dass in einem DataGridView in einer Zelle nicht mehr wie ein Komma eingegeben werden kann.
Z.B. so etwas 22,,5,63
Mein Bisheriger Code sieht folgendermaßen aus:
Private Sub Dgv_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs)
Dim Tb As TextBox = CType(e.Control, TextBox)
RemoveHandler Tb.KeyPress, AddressOf Tb_KeyPress
AddHandler Tb.KeyPress, AddressOf Tb_KeyPress
End Sub
Private Sub Tb_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
If e.KeyChar <> vbBack Then
Select Case DGV_Listenansicht.CurrentCell.ColumnIndex
Case 1 'Eingabe Stück nur Zahlen
If Not Char.IsDigit(e.KeyChar) Then e.Handled = True
Case 3 'Eingabe Einzelpreis nur Zahlen, Komma und Zurücktaste
If Not (Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(44)) Then e.Handled = True
End Select
End If
End Sub
Allerdings kann ich hier beliebig viele Kommas eingeben und nach Return kommt eine riesen Fehlermeldung.
Danke für Eure Hilfe
ich möchte verhindern, dass in einem DataGridView in einer Zelle nicht mehr wie ein Komma eingegeben werden kann.
Z.B. so etwas 22,,5,63
Mein Bisheriger Code sieht folgendermaßen aus:
Private Sub Dgv_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs)
Dim Tb As TextBox = CType(e.Control, TextBox)
RemoveHandler Tb.KeyPress, AddressOf Tb_KeyPress
AddHandler Tb.KeyPress, AddressOf Tb_KeyPress
End Sub
Private Sub Tb_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
If e.KeyChar <> vbBack Then
Select Case DGV_Listenansicht.CurrentCell.ColumnIndex
Case 1 'Eingabe Stück nur Zahlen
If Not Char.IsDigit(e.KeyChar) Then e.Handled = True
Case 3 'Eingabe Einzelpreis nur Zahlen, Komma und Zurücktaste
If Not (Char.IsDigit(e.KeyChar) Or e.KeyChar = Chr(44)) Then e.Handled = True
End Select
End If
End Sub
Allerdings kann ich hier beliebig viele Kommas eingeben und nach Return kommt eine riesen Fehlermeldung.
Danke für Eure Hilfe
Comment