ちょいと脱線して、.net frameworkを利用した、Windows Form Applicationの勉強中。
今日は、Drag & Dropの実装。
単に"DragDrop"のイベントハンドラーを実装するだけでは、NG。
- フォームのプロパティで"AllowDrop"を"True"に
- フォームの"DragEnter"に以下を実装
private void onForm1DragEnter(object sender, DragEventArgs e) { if ( e.Data.GetDataPresent( DataFormats.FileDrop ) ) e.Effect = DragDropEffects.All; else e.Effect = DragDropEffects.None; }
- フォームの"DragDrop"に以下を実装
private void onForm1DragDrop(object sender, DragEventArgs e) { string[] stringFilename = (string[]) e.Data.GetData(DataFormats.FileDrop, false); }
これでstringFilename[]にDrag & Dripしたファイル名が入る。