我正在处理一个包含数据网格视图和文本框的表单,我需要数据网格视图检测字母表或数字中的任何字母,然后选择输入并发送按键进行输入。
我找不到任何解决方案,提前谢谢。
您需要将事件处理程序附加到正在接收将响应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,这不允许您轻松判断输入是大写还是小写。