С редактированием , ваш вопрос намного яснее. Это решение вставляет текст в последние позиции курсора в DataGridViewCell. Я делаю это нажатием кнопки. Вам нужно будет иметь DataGridView под названием dataGridView1 и TextBox под названием InsertTextBox на форме
Private lastTextBox As TextBox
Private lastCursorPosition As Integer
Private lastCell As DataGridViewCell
Private Sub InsertTextButton_Click(sender As Object, e As EventArgs) Handles InsertTextButton.Click
If lastCell IsNot Nothing Then lastCell.Value = CType(lastCell.Value, String).Insert(lastCursorPosition, "test")
End Sub
Private Sub DataGridView1_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
lastTextBox = CType(e.Control, TextBox)
End Sub
Private Sub DataGridView1_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
lastCell = DataGridView1(e.ColumnIndex, e.RowIndex)
lastCursorPosition = lastTextBox.SelectionStart
End Sub
Я не уверен, если я получаю ваш вопрос, но вы можете вставить в клетку таким же образом, вы бы вставить в текстовое поле. Просто убедитесь, что вы находитесь в режиме редактирования ячейки (обычно дважды щелкните). – Neolisk
Ах, этот пример полностью меняет вопрос. Проблема заключается в получении позиции курсора внутри строки внутри ячейки в режиме редактирования ячейки. Как вы собираетесь вставлять текст, когда ваша мышь находится внутри ячейки? Вы не можете точно нажать кнопку ... – djv
Он отлично работает с текстовым полем, используя «TextBox.Paste (« test »)». Я думал, что ячейка в editmode является текстовым полем, поэтому она будет работать и с ячейкой. – maartenvdv