C# form ファイルドロップ | vicのブログ

vicのブログ

ツール系やソフト開発について書こうと思っています。
書き込み大歓迎です。
間違いとかもっといい方法とかあったらご指摘いただけるとありがたいです。
質問をいただいたら、記事をもっとわかりやすく変更します。


参考サイト

http://nanoappli.com/blog/archives/6422



フォームのコードに下記を追加

次に、下記のコードを追加します。

private void TextBox_DragEnter( object sender, DragEventArgs e ) {
	//ファイルがドラッグされている場合、カーソルを変更する
	if (e.Data.GetDataPresent(DataFormats.FileDrop)) {
		e.Effect = DragDropEffects.Copy;
	}
}
 
private void TextBox_DragDrop( object sender, DragEventArgs e ) {
	//ドロップされたファイルの一覧を取得
	string[] fileName = (string[]) e.Data.GetData(DataFormats.FileDrop, false);
	if ( fileName.Length <= 0 ) {
		return;
	}
 
	// ドロップ先がTextBoxであるかチェック
	TextBox txtTarget = sender as TextBox;
	if ( txtTarget == null ) {
		return;
	}
 
	//TextBoxの内容をファイル名に変更
	txtTarget.Text = fileName[0];
}


FormにTextBoxを貼り付け、ArrowDropプロパティをtrueにします。


TextBoxのDragEnterとDragDropのハンドラを、先ほど追加したメソッドに割り当てます。