前提・実現したいこと
WPFにてドラッグアンドドロップを実装しようとしています。
エクスプローラからドロップしたファイルのパスを取得したいのですが、どのような方法があるでしょうか?
以下のコードではGUI上のテキストボックスにドラッグドロップしたファイル名のみが表示されるものとなっております。
希望としては
・GUI上のtextboxには以下のコードのようにファイル名の表示だけでいいが、ファイルパスは別の変数に格納しその後の処理で読み取るために使いたい
以上を実装しようとしています。
C#の学習を始めたばかりなため、質問の仕方がおかしい部分もあるかもしれませんが、ご存知の方がいましたらお教えいただけたらと思います。
よろしくお願いします。
該当のソースコード
C#
1private void textBox_Drop(object sender, DragEventArgs e) 2{ 3 textBox.Text = string.Empty; // テキストボックスを空にする。 4 string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); // ドロップされたものがFileDrop形式の場合は、各ファイルのパス文字列を文字列配列に格納する。 5 if (files != null) 6 { 7 foreach (string uriString in files) 8 { 9 textBox.Text = textBox.Text + System.IO.Path.GetFileName(uriString) + "\r\n"; // パス文字列からファイル名を抜き出して、テキストボックスにファイル名を書き込む。 10 } 11 } 12}
試したこと
GetFileNameの部分をGetFullPathで試したりしたのですが、うまくファイルパスを取得できない状態です。
回答2件
あなたの回答
tips
プレビュー