C#メモ:ドラッグ&ドロップ

ドラッグ&ドロップ処理です。これは結構と他HPとかで説明されているようだけど、自分の勉強の為にメモして置きます。

ではまずはドラッグ処理からです。



private void FcEditor_DragEnter(object sender, DragEventArgs e)
{
	//処理
}

まぁこれはイベントを作れば良いだけなので単純ですね。ちなみにこの処理をする前に、ドラッグする対象のフォームのAllowDropプロパティをTrueにする必要があります。

さて続いてドロップ処理です。ドロップをする場合は、まずドラッグする際にドロップを許可する必要があります。

ドラッグ処理
private void FcEditor_DragEnter(object sender, DragEventArgs e)
{
 	if(e.Data.GetDataPresent(DataFormats.FileDrop))
		e.Effect = DragDropEffects.Copy;
}
ドロップ処理
private void FcEditor_DragDrop(object sender, DragEventArgs e)
{
	String[] dropFiles;
	dropFiles = (string[])e.Data.GetData(DataFormats.FileDrop);
	foreach(String dragFile in dragFiles)
	{
		textBox.Text += dragFile + "¥r¥n";
	}
}

「e.Effect = DragDropEffects.Copy」でまずドラッグされているファイル等のデータを許可します。 続いて取得したデータをドロップ時に展開します。 複数ファイルがある場合を考え、格納する変数は配列にします。 とりあえず上記コードではファイル名をテキストボックスに表示します。

ちなみに「.Copy」を「.Link」にするとブラウザの文字を取得する事ができます。 このときはデータが1つしかありませんので、「dropFiles」をただの変数にします。

分かりにくかったと思いますが以上です。



コメント
コメントする








    
この記事のトラックバックURL
トラックバック