pravin9455 Ответов: 1

Событие Datagridview keydown не распознается, когда я редактирую текст внутри ячейки.


Привет
Я пытаюсь вставить данные ячейки из другой datagrid, когда нажимаю "Enter" в родительской datagrid .

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

Как я могу получить это значение в режиме редактирования? Есть что-то, что нужно сделать с EditingControlShowing но я не понимаю, как это сделать.

Что я уже пробовал:

Private Sub DgvJournal_KeyPress(sender As Object, e As KeyPressEventArgs) Handles DgvJournal.KeyPress
        Dim keyChar As Char = e.KeyChar
        If AscW(keyChar) = 13 Then
            DgvJournal.Rows(DgvJournal.CurrentCell.RowIndex).Cells(0).Value = DgvMainAccountList.Rows(0).Cells(0).Value

        End If

    End Sub

    Private Sub DgvJournal_KeyDown(sender As Object, e As KeyEventArgs) Handles DgvJournal.KeyDown
        If e.KeyCode = Keys.Enter Then
            DgvJournal.Rows(DgvJournal.CurrentCell.RowIndex).Cells(0).Value = DgvMainAccountList.Rows(0).Cells(0).Value
        End If
    End Sub

    Private Sub DgvJournal_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles DgvJournal.PreviewKeyDown
        If e.KeyCode = Keys.Enter Then
            DgvJournal.Rows(DgvJournal.CurrentCell.RowIndex).Cells(0).Value = DgvMainAccountList.Rows(0).Cells(0).Value
        End If
    End Sub

    Private Sub FrmJournal_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown

        If DgvJournal.Focused Then
            If e.KeyCode = Keys.Enter Then
                DgvJournal.Rows(DgvJournal.CurrentCell.RowIndex).Cells(0).Value = DgvMainAccountList.Rows(0).Cells(0).Value
            End If

        End If

    End Sub

1 Ответов

Рейтинг:
4

OriginalGriff

В принципе, нет. ENTER-это клавиша, предназначенная для конкретного использования: отправки формы или завершения редактирования. И пользователи привыкли к этому. Если вы начнете возиться со знакомыми элементами дизайна, ваши пользователи возненавидят ваше приложение и, вероятно, удалят его.

И именно это действие "отправить", вероятно, вызывает вашу проблему - клавиша ENTER "проглатывается" формой и никогда не достигает вашего DGV ...