現在C#にて、3列x10行ほどあるデータグリッドビューにファイルをドラッグアンドドロップしてそのファイル名を選択されている行の3列目に入れると言うような形の処理を行っております。
ただ、選択している場所以外に落とした場合でも、選択した箇所に限定しているため、例えば選択しているのが2行目でも、8行目にドロップしたら8行目に入るようにするにはどうすればいいでしょうか?
一応、現状ドロップした際のソースが下記になります。
private void dataGridView_DragDrop(object sender, DragEventArgs e) { //ドロップされたファイルの一覧を取得 string[] fileName = (string[])e.Data.GetData(DataFormats.FileDrop, false); if (fileName[0] != "") { return; } // ドロップ先がDataGridViewであるかチェック DataGridView Target = sender as DataGridView; if (Target == null) { return; } DataGridViewRowUpdate();// 任意の行にファイル名を入れるメソッド }
色々調べてはいるのですが、ドロップした行に落した場合のイベントがあればいいと思ったのですが、見つけて無いだけかもしれませんが、無さそうでした。
また、MouseMoveにしてしまうと、ファイルをドラッグしていない状態で選択していないのに、選択する行が変わってしまうと少々厄介かと思い他にいい方法が無いかご存じの方がいらっしゃいましたら、ご教授頂けないでしょうか。
よろしくお願いいたします。
※追記
OS:Windows10
VisualStudioのバージョン:Community 2019 Ver 16.9.1
プロジェクトの種類:WindowsForms
フレームワークの種類:.NET Framework 4.8
.
回答2件
あなたの回答
tips
プレビュー