フォームのドラッグアンドドロップした場合にファイルはリストボックスに表示するように出来て、フォルダ名まではできるようになったのですがフォルダ内の全てのファイル名を取得する方法でハマっています。
参考になるサイトやコードなど有りましたらお助けください。
lang
1using System; 2using System.Collections.Generic; 3using System.ComponentModel; 4using System.Data; 5using System.Drawing; 6using System.Linq; 7using System.Text; 8using System.Threading.Tasks; 9using System.Windows.Forms; 10 11namespace UTF_8NOBOM 12{ 13 public partial class Form1 : Form 14 { 15 public Form1() 16 { 17 InitializeComponent(); 18 //AllowDrop = trueでドロップを許可 19 this.AllowDrop = true; 20 this.DragDrop += new DragEventHandler(this.Form1_DragDrop); 21 this.DragEnter += new DragEventHandler(this.Form1_DragEnter); 22 } 23 24 private void Form1_Load(object sender, EventArgs e) 25 { 26 } 27 private void Form1_DragEnter(object sender, DragEventArgs e) 28 { 29 if (e.Data.GetDataPresent(DataFormats.FileDrop)) 30 { 31 32 // ドラッグ中のファイルやディレクトリの取得 33 34 string[] drags = (string[])e.Data.GetData(DataFormats.FileDrop); 35 36 foreach (string d in drags) 37 { 38 if (System.IO.File.Exists(drags[0]) == true) 39 { 40 // ファイル以外であればイベント・ハンドラを抜ける 41 return; 42 } 43 } 44 e.Effect = DragDropEffects.Copy; 45 } 46 } 47 private void Form1_DragDrop(object sender, DragEventArgs e) 48 { 49 // ドラッグ&ドロップされたファイル 50 string[] files = (string[])e.Data.GetData(DataFormats.FileDrop, false); 51 52 ListBox1.Items.AddRange(files); // リストボックスに表示 53 } 54 } 55} 56
追記
色々考えて現在わかっていること
lang
1 // ファイル以外であればイベント・ハンドラを抜ける 2 return;
上記コードの場所にフォルダから取得するコードを入れれば動く?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/06/29 05:46
2015/06/29 07:09
2015/06/29 07:23
2015/06/30 02:28