データベースに保存されているブロブ (ファイル PDF/JPG/など) を含むデータベースからのレコードを表示する Form 上の GridView を備えた C# WinForms アプリケーションがあります。
グリッド内の行をダブルクリックして、ブロブをディスクに書き込み、ファイルを開くことができます。行をシングルクリックして 1 つまたは複数の行を選択できます (ctrl+shift を使用) ファイルをグリッドにドラッグして、ファイルを行としてグリッド (およびデータベース) に追加できます
ここで、ユーザーが 1 つ以上の行をグリッドから、たとえばデスクトップやメールクライアントにドラッグできるようにしたいのですが、どのイベントで「ドラッグ」操作を開始するかわかりません。
ユーザーがマウスの左ボタンを使用して 1 つ以上のファイルを選択すると、ドラッグは同じマウスの左ボタンを使用し、両方のイベントがマウスダウン イベントをトリガーします。ユーザーがこれから何をしようとしているのかをどのように判断しますか?
マウスダウンイベントでドラッグ操作を開始しようとしましたが、複数の行を選択したい場合、行をクリックするたびにドラッグ操作が開始されます...
たとえば、Windowsエクスプローラーではどのように処理されますか? ユーザーが何をしようとしているのかをどのように検出しますか?