ドラッグアンドドロップでファイルをフォームに読み込むにはどうすればよいですか?
どのイベントが表示されますか?
どのコンポーネントを使用すればよいですか?
そして、それをフォームにドラッグアンドドロップした後、ファイルの名前と他のプロパティを決定する方法は?
ありがとうございました!
コード
private void panel1_DragEnter(object sender, DragEventsArgs e){
if (e.Data.GetDataPresent(DataFormats.Text)){
e.Effect = DragDropEffects.Move;
MessageBox.Show(e.Data.GetData(DataFormats.Text).toString());
}
if (e.Data.GetDataPresent(DataFormats.FileDrop)){
}
}
わかりました、これでうまくいきます。
ファイルはどうですか?ファイル名と拡張子を取得するにはどうすればよいですか?
これはdragEnter
アクションのみです。
このコードはループして、ウィンドウにドラッグされたすべてのファイルの完全な名前(拡張子を含む)を出力します。
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string filePath in files)
{
Console.WriteLine(filePath);
}
}
詳細については、以下のリンクを確認してください
http://doitdotnet.wordpress.com/2011/12/18/drag-and-drop-files-into-winforms/
private void Form2_DragDrop(object sender, DragEventArgs e) {
if (e.Data.GetDataPresent(DataFormats.FileDrop)) {
string[] filePaths = (string[])(e.Data.GetData(DataFormats.FileDrop));
foreach (string fileLoc in filePaths) {
// Code to read the contents of the text file
if (File.Exists(fileLoc)) {
using (TextReader tr = new StreamReader(fileLoc)) {
MessageBox.Show(tr.ReadToEnd());
}
}
}
}
}
ありがとう。