Я пытаюсь «поменять» содержимое двух ячеек и их сопоставления. Для этого мне нужно перетащить ссылку на ячейку, а не на само строковое значение. Затем я могу использовать эту ссылку для обновления словаря, а также получить значение. Это позволяет мне делать своп, так как у меня будет ссылка на старую ячейку, чтобы добавить туда необходимое значение.
У меня проблема в том, что я не знаю, как передать ссылку на ячейку:
Private Sub DataGridView1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DataGridView1.MouseDown
If e.Button = MouseButtons.Left Then
DataGridView1.DoDragDrop(DataGridView1.CurrentCell, DragDropEffects.Copy)
End If
End Sub
и в событии отбрасывания:
Private Sub DataGridView1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles DataGridView1.DragDrop
'Problem is here -->'Dim copyedFromCell As DataGridViewCell = DirectCast(e.Data(), DataGridViewCell)**
Dim copyedFromKey As String = GetMappingForCell(copyedFromCell)
Dim thisKey As String = GetMappingForCell(DataGridView1.CurrentCell)
Dim copyedFromValue As String = copyedFromCell.Value
Dim thisValue As String = DataGridView1.CurrentCell.Value
mappings(copyedFromKey) = DataGridView1.CurrentCell
mappings(thisKey) = copyedFromCell
DataGridView1.CurrentCell.Value = copyedFromValue
copyedFromCell.Value = thisValue
End Sub
Возможно ли то, что я пытаюсь сделать? Я полностью сломал это? Спасибо:)