C# drag and drop files to form
如何通过拖放将文件加载到表单中?
将出现哪个事件?
我应该使用哪个组件?
在将文件拖放到表单后,如何确定文件名和其他属性?
谢谢您!
代码
1 2 3 4 5 6 7 8 9 | 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)){ } } |
好的,这行得通。
文件呢?如何获取文件名和扩展名?
而这仅仅是一个
此代码将遍历并打印拖动到窗口中的所有文件的全名(包括扩展名):
1 2 3 4 5 6 7 8 | if (e.Data.GetDataPresent(DataFormats.FileDrop)) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); foreach (string filePath in files) { Console.WriteLine(filePath); } } |
有关详细信息,请查看以下链接
Drag and Drop Files into winforms
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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()); } } } } } |
谢谢。