Public Class Form1
Dim column_index As Integer = 0
Private Sub DGV_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms
.DataGridViewEditingControlShowingEventArgs)
Handles DGV.EditingControlShowing
Dim j As Integer = DGV.CurrentCell.ColumnIndex
If j = 1 Or j = 2 Then
column_index = DGV.CurrentCell().ColumnIndex
Dim TextEdit As TextBox = e.Control
RemoveHandler TextEdit.KeyPress, AddressOf TextBox_KeyPress_Number
AddHandler TextEdit.KeyPress, AddressOf TextBox_KeyPress_Number
End If
End Sub
Public Sub TextBox_KeyPress_Number(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim j As Integer = DGV.CurrentCell.ColumnIndex
If j = 1 Or j = 2 Then
Select Case column_index = 0
Case 0
If(e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back AndAlso e.KeyChar<> "." AndAlso e.KeyChar<> ","Then
e.Handled = True
End If
End Select
End If
End Sub
End Class