1

コントロールでいっぱいのフォームのどこにでもドラッグ アンド ドロップできるようにする方法はありますか?

アイデアは、ユーザーがファイルを「ロード」するためにフォーム内の任意の場所にドラッグできるようにすることです。これ以外の DragDrop 動作は必要ありません。

AllowDrop=Trueフォームのみに設定すると、イベントは取得されDragEnterますが、イベントは取得されませんDragDrop

最上位のパネルを表示してそこでイベントDragEnterを処理するというアイデアがありDragDropますが、この分野での経験がほとんどないため、ここで明らかなことを見落としているのではないでしょうか。

もう 1 つのアイデアは、すべてのコントロールを繰り返し処理し、ドラッグ関連のイベントをサブスクライブすることです。しかし、私はこのアプローチが本当に好きではありません。

4

3 に答える 3

-1

Dropイベントで。

string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
        foreach (string file in files) Console.WriteLine(file);

DragEnterイベントで。

if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effects = DragDropEffects.Copy;
于 2013-06-09T22:20:33.783 に答える