2つのデータグリッドビュー間にドラッグアンドドロップ機能を実装しています。これは、1つの例外を除いて意図したとおりに機能します。同じデータグリッドビュー内でドラッグアンドドロップすることが可能です。これにより、行が重複します。あるデータグリッドビューから別のデータグリッドビューにしかドラッグできないように、機能を制限したいと思います。誰かがこれをどのように達成できるか知っていますか?なんらかのヒットテストが必要だと思いますが、どうやって実装したらいいのかわかりません...
私が使用しているコードは次のとおりです。
Private Sub dgvFMAvailable_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgvFMAvailable.MouseMove
If e.Button = Windows.Forms.MouseButtons.Left Then
Me.dgvFMAvailable.DoDragDrop(Me.dgvFMAvailable.SelectedRows, DragDropEffects.Move)
End If
End Sub
と
Private Sub dgvFMSelected_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles dgvFMSelected.DragDrop
Try
Me.SelectFM(CType(e.Data.GetData(GetType(DataGridViewSelectedRowCollection)), DataGridViewSelectedRowCollection))
Finally
e.Effect = DragDropEffects.None
End Try
End Sub