检测Datagridview控件中的字母或数字键,并将处理后的键发送到文本框VB.BET

时间:2012-02-06 16:39:32

标签: vb.net datagridview event-handling keyboard

我正在处理包含datagridview和textbox的Form,我需要datagridview检测字母或数字的任何字母,然后选择输入并发送按下输入的键。

我提前感谢找不到任何解决办法。

1 个答案:

答案 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,这不允许您轻松判断输入是大写还是小写。