Определите буквенный или цифровой ключ в элементе управления Datagridview и отправьте обработанный ключ в текстовое поле VB.BET. - PullRequest
1 голос
/ 06 февраля 2012

Я работаю над формой, которая содержит сетку данных и текстовое поле, мне нужно, чтобы сетка данных обнаруживала любую букву алфавита или цифры, затем выбирала вход и отправляла нажатую клавишу для ввода.

Не могу найти никакого решения для этого, заранее спасибо.

1 Ответ

0 голосов
/ 07 февраля 2012

Вам нужно будет прикрепить обработчик событий к элементу управления редактирования ячейки, который получает данные, которые будут реагировать на событие 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, которые не позволяют легко определить, был ли ввод прописным или строчным.

...