下面的代碼限制了5個DataGridView第2列只能輸入數字,但只要觸發了限制,第1列也會被限制了,除了輸入數字不能輸入其他的,大神們幫看看哪里出問題了
Public EditCell As DataGridViewTextBoxEditingControl
Private Sub DataGridView1_EditingControlShowing(sender As Object, e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
If Me.DataGridView1.CurrentCellAddress.X = 1 Then
EditCell = CType(e.Control, DataGridViewTextBoxEditingControl)
EditCell.SelectAll()
AddHandler EditCell.KeyPress, AddressOf Cells_KeyPress
End If
End Sub
Private Sub DataGridView2_EditingControlShowing(sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView2.EditingControlShowing
If Me.DataGridView2.CurrentCellAddress.X = 1 Then
EditCell = CType(e.Control, DataGridViewTextBoxEditingControl)
EditCell.SelectAll()
AddHandler EditCell.KeyPress, AddressOf Cells_KeyPress
End If
End Sub
Private Sub DataGridView3_EditingControlShowing(sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView3.EditingControlShowing
If Me.DataGridView3.CurrentCellAddress.X = 1 Then
EditCell = CType(e.Control, DataGridViewTextBoxEditingControl)
EditCell.SelectAll()
AddHandler EditCell.KeyPress, AddressOf Cells_KeyPress
End If
End Sub
Private Sub DataGridView4_EditingControlShowing(sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView4.EditingControlShowing
If Me.DataGridView4.CurrentCellAddress.X = 1 Then
EditCell = CType(e.Control, DataGridViewTextBoxEditingControl)
EditCell.SelectAll()
AddHandler EditCell.KeyPress, AddressOf Cells_KeyPress
End If
End Sub
Private Sub DataGridView5_EditingControlShowing(sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView5.EditingControlShowing
If Me.DataGridView5.CurrentCellAddress.X = 1 Then
EditCell = CType(e.Control, DataGridViewTextBoxEditingControl)
EditCell.SelectAll()
AddHandler EditCell.KeyPress, AddressOf Cells_KeyPress
End If
End Sub
Private Sub Cells_KeyPress(sender As System.Object, e As KeyPressEventArgs)
If e.KeyChar <> Chr(8) And e.KeyChar <> Chr(13) And (e.KeyChar < Chr(48) Or e.KeyChar > Chr(57)) Then
Beep()
Beep()
e.KeyChar = Chr(0)
End If
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/241151.html
標籤:VB.NET
