c转vb.net
我只会vb.net,网上找了一段。用网页转成vb.net后有错误,请帮忙转一下!谢谢!
代码的意思是控制datagridview单元格只能输入正数,源码如下:
Private Sub DataGridView_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs)
If TypeOf e.Control Is DataGridViewTextBoxEditingControl Then
Dim dgv As DataGridView = DirectCast(sender, DataGridView)
Dim tb As DataGridViewTextBoxEditingControl = DirectCast(e.Control, DataGridViewTextBoxEditingControl)
tb.KeyPress -= New KeyPressEventHandler(AddressOf dataGridViewTextBox_KeyPress)
If dgv.CurrentCell.OwningColumn.Name = "" Then
tb.KeyPress += New KeyPressEventHandler(AddressOf dataGridViewTextBox_KeyPress)
End If
End If
End Sub
Private Shared Sub dataGridViewTextBox_KeyPress(sender As Object, e As KeyPressEventArgs)
'这里还可加长度判断
If (e.KeyChar >= DirectCast(Keys.D0, [Char]) AndAlso e.KeyChar <= DirectCast(Keys.D9, [Char])) OrElse e.KeyChar = DirectCast(Keys.Delete, [Char]) OrElse e.KeyChar = DirectCast(Keys.Back,
[Char]) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
'=======================================================
'Service provided by Telerik (www.telerik.com)
'Conversion powered by NRefactory.
'Twitter: @telerik
'Facebook: facebook.com/telerik
'=======================================================
翻译后的如下:
Private Sub DataGridView_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs)
If TypeOf e.Control Is DataGridViewTextBoxEditingControl Then
Dim dgv As DataGridView = DirectCast(sender, DataGridView)
Dim tb As DataGridViewTextBoxEditingControl = DirectCast(e.Control, DataGridViewTextBoxEditingControl)
tb.KeyPress -= New KeyPressEventHandler(AddressOf dataGridViewTextBox_KeyPress)
If dgv.CurrentCell.OwningColumn.Name = "" Then
tb.KeyPress += New KeyPressEventHandler(AddressOf dataGridViewTextBox_KeyPress)
End If
End If
End Sub
Private Shared Sub dataGridViewTextBox_KeyPress(sender As Object, e As KeyPressEventArgs)
'这里还可加长度判断
If (e.KeyChar >= DirectCast(Keys.D0, [Char]) AndAlso e.KeyChar <= DirectCast(Keys.D9, [Char])) OrElse e.KeyChar = DirectCast(Keys.Delete, [Char]) OrElse e.KeyChar = DirectCast(Keys.Back, [Char]) Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
'=======================================================
'Service provided by Telerik (www.telerik.com)
'Conversion powered by NRefactory.
'Twitter: @telerik
'Facebook: facebook.com/telerik
'=======================================================
Work8862