我正在处理包含datagridview和textbox的Form,我需要datagridview检测字母或数字的任何字母,然后选择输入并发送按下输入的键。
我提前感谢找不到任何解决办法。
答案 0 :(得分:0)
您需要将事件处理程序附加到正在接收将响应KeyPress事件的数据的单元格编辑控件。这可以通过处理EditingControlShowing事件来完成。
以下是执行此操作的一些基本代码:
Public Class Form1
Private Sub DataGridView1_EditingControlShowing(sender As System.Object, e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
Dim c As Control
c = e.Control
AddHandler c.KeyPress, AddressOf Handle_KeyPress
End Sub
Protected Sub Handle_KeyPress(sender As Object, e As KeyPressEventArgs)
If Char.IsLetterOrDigit(e.KeyChar) Then
TextBox1.Text += e.KeyChar
e.Handled = True
End If
End Sub
End Class
您可以响应其他事件,例如KeyDown,但KeyPress通常是首选,因为它会为您提供带有事件参数的Char。对于像KeyDown这样的事件,您将使用KeyCodes,这不允许您轻松判断输入是大写还是小写。