C# 複数ファイルをドラッグ・アンド・ドロップしてテキストボックスにパスを入力する
textboxにフォルダ(ディレクトリ)名をドラッグ・アンド・ドロップで入力する
visual studioのプロパティの稲妻のアイコンをクリックして、DragEnterとDragDropをダブルクリックする。
すると、新しいイベントを登録することができる。
private void dataDirBox_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Copy; } } private void dataDirBox_DragDrop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { string[] drags = (string[])e.Data.GetData(DataFormats.FileDrop, false); FileAttributes attr = File.GetAttributes(drags[0]); if (attr.HasFlag(FileAttributes.Directory)) { dataDirBox.Text = ""; dataDirBox.Text = drags[0]; } else { int visibleTime = 3000; toolTipUtil.Show("ディレクトリをドラッグ&ドロップしてください。", dataDirBox, 10, 10, visibleTime); } } }
テキストボックスにファイル名をドラッグ・アンド・ドロップで入力する
private void excelFileTextBox_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Copy; } } private void excelFileTextBox_DragDrop(object sender, DragEventArgs e) { int visibleTime = 3000; if (e.Data.GetDataPresent(DataFormats.FileDrop)) { string[] drags = (string[])e.Data.GetData(DataFormats.FileDrop, false); FileAttributes attr = File.GetAttributes(drags[0]); if (attr.HasFlag(FileAttributes.Directory)) { graphkaTextBoxtoolTip.Show("ファイルをドラッグ&ドロップしてください。", dataDirBox, 10, 10, visibleTime); return; } else { excelFileTextBox.Text = ""; excelFileTextBox.Text = drags[0]; } } }
複数ファイルをドラッグ・アンド・ドロップで入力する
private void fileTextBox_DragDrop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { string[] drags = (string[])e.Data.GetData(DataFormats.FileDrop, false); StringBuilder sb = new StringBuilder(); for (var i = 0; i < drags.Count(); i++) { FileAttributes attr = File.GetAttributes(drags[i]); if (!attr.HasFlag(FileAttributes.Directory)) { sb.Append(drags[i] + Environment.NewLine); } } fileTextBox.Text = ""; fileTextBox.Text = sb.ToString(); } } private void fileTextBox_DragEnter(object sender, DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { e.Effect = DragDropEffects.Copy; } }
基礎からきちんと知りたい人の C#プログラミング入門(日経BPパソコンベストムッ (日経BPパソコンベストムック)
- 作者: 原田英生
- 出版社/メーカー: 日経BP社
- 発売日: 2015/11/11
- メディア: 単行本
- この商品を含むブログを見る