Я пытаюсь сделать действительно простое копирование и вставку внутри ячейки DataGridView, используя Ctrl + C и CTRL + V.
Мне не нужно иметь возможность копировать или вставлять несколько ячеек, только выделенный текстодна выбранная ячейка.
Режим редактирования для DataGridView установлен на EditOnEnter, потому что им не нравится двойной щелчок для редактирования значения.
Ни CTRL + C, ни CTRL + V обычно не работают внутри ячейки.
Я нашел обходной путь, но он действительно глючит:
Private Sub dgParts_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles dgParts.EditingControlShowing
AddHandler e.Control.KeyUp, AddressOf dgParts_TextBox_KeyUp
End Sub
Private Sub dgParts_TextBox_KeyUp(sender As Object, e As KeyEventArgs)
If e.KeyCode = Keys.C AndAlso e.Modifiers = Keys.Control Then
Clipboard.SetText(sender.SelectedText)
End If
If e.KeyCode = Keys.V AndAlso e.Modifiers = Keys.Control Then
sender.SelectedText = Clipboard.GetText
End If
End Sub
По какой-то причине KeyUp срабатывает несколько раз, поэтому, когда я выполняю вставку, он вставляет текст 5 раз.
Я попытался переключить его на KeyDown вместо KeyUp, но потом он срабатывает, когда я нажимаю CTRL, а не когда я также нажимаю C или V.
Не похоже, что так и должно бытьТрудно сделать что-то настолько простое, поэтому я надеюсь, что мне просто не хватает чего-то, что заставит это просто работать.