我的表单上有一个DataGridView,有3列。我需要第二列才允许输入数字。我有用于文本框的代码:
Private Sub NumbersOnly(ByVal sender As System.Object, ByVal e As system.Windows.Forms.KeyPressEventArgs)
'97 - 122 = Ascii codes for simple letters
'65 - 90 = Ascii codes for capital letters
'48 - 57 = Ascii codes for numbers
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
我试图找出我可以用来在DataGridView中执行相同过程的事件。我尝试过按键事件,但它不起作用。有关如何防止非数字被输入的任何建议。谢谢大家!
答案 0 :(得分:1)
不是手动验证它以包含数字,而是将列的数据类型设置为数字。然后它将自动验证。不要试图通过按键,keydown来处理它,因为它也会复制/粘贴(CTRL + C / CTRL + V),鼠标右键单击以及其他可能的方法来放置坏数据。