|  | 分類:[.NET 全般]
 
 
 先ほどの質問でD&Dは成功する用になりましたが、動的に処理を関連付けた他のDataGridViewの同じ位置のセルにも表示されてしまうのですが、
これをドロップしたDataGridViewのみにする方法はありますでしょうか?
以下はコードになります。
Private Sub dgvDragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs)
        '変数
        Dim dgv As New DataGridView
        'Dim dgvname As String
        Dim clientP As Point
        Dim hti As DataGridView.HitTestInfo
        If e.Data.GetDataPresent(GetType(String)) Then
            Dim dgvcellvalue = e.Data.GetData(GetType(String))
            dgv = DirectCast(sender, DataGridView)
            ''スクリーン座標を変数へ入れる
            Dim target As New Point(e.X, e.Y)
            ''スクリーン座標をクライアント座標へ変換
            clientP = dgv.PointToClient(target)
            '座標をDataGridViewのHitTestInfoへ入れる
            hti = dgv.HitTest(clientP.X, clientP.Y)
            'ここでドロップしたデータをセルへ入れる
            dgv(hti.ColumnIndex, hti.RowIndex).Value = dgvcellvalue
            dgvdragname = dgv.Name
            MessageBox.Show("ドラッグアンドドロップ完了")
        End If
    End Sub
 |