Sam*_*ack 3 .net vb.net datagridview winforms
我是winforms的新手.我正在尝试将DataGridView的两列设置为仅限数字.我不希望用户能够在单元格中键入任何内容,除非它在一列中为自然数,而在另一列中为数值(总是一个小数).我认为这很简单..但即使从stackoverflow和其他网站尝试了很多东西后我仍然无法实现这一点.
If DataGridView1.CurrentCell.ColumnIndex = 8 Then
If Not Char.IsControl(e.KeyChar) AndAlso Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "."c Then
e.Handled = True
End If
End If
Run Code Online (Sandbox Code Playgroud)
Sat*_*ish 11
试试这个代码
Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
If DataGridView1.CurrentCell.ColumnIndex = 2 Then
AddHandler CType(e.Control, TextBox).KeyPress, AddressOf TextBox_keyPress
ElseIf DataGridView1.CurrentCell.ColumnIndex = 1 Then
AddHandler CType(e.Control, TextBox).KeyPress, AddressOf TextBox_keyPress1
End If
End Sub
Private Sub TextBox_keyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
If Char.IsDigit(CChar(CStr(e.KeyChar))) = False Then e.Handled = True
End Sub
Private Sub TextBox_keyPress1(ByVal sender As Object, ByVal e As KeyPressEventArgs)
If Not (Char.IsDigit(CChar(CStr(e.KeyChar))) Or e.KeyChar = ".") Then e.Handled = True
End Sub
Run Code Online (Sandbox Code Playgroud)
TextBox_keyPress仅限数字的事件
TextBox_keyPress1带小数值的数字的事件
| 归档时间: |
|
| 查看次数: |
31191 次 |
| 最近记录: |