网上的实现1
实现结果

具体实现代码:注意需要使能允许拖拽
public partial class Form1 : Form
{public Form1(){InitializeComponent();this.AllowDrop = true;  //允许拖拽}private void Form1_DragEnter(object sender, DragEventArgs e){this.Text = DateTime.Now.ToString();if(e.Data.GetDataPresent(DataFormats.FileDrop)){string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);foreach (string file in files){listBox1.Items.Add(file);}}}
}参考链接
拖放文件到窗体_哔哩哔哩_bilibili https://www.bilibili.com/video/BV13d4y1h7vr/?spm_id_from=333.999.0.0&vd_source=e821a225c7ba4a7b85e5aa6d013ac92e
https://www.bilibili.com/video/BV13d4y1h7vr/?spm_id_from=333.999.0.0&vd_source=e821a225c7ba4a7b85e5aa6d013ac92e
完整的代码实例及信息描述
信息描述
在Windows Forms (WinForms) 应用程序中,如果你想实现一个功能,让用户能够通过拖拽文件到窗体上捕获文件的名称,你需要为窗体添加一个拖拽事件的处理器。这个事件通常称为 DragEnter 和 DragDrop。
以下是一个简单的示例,展示了如何在WinForms应用程序中实现文件拖拽功能,并捕获拖拽文件的名称:
代码实例
using System;  
using System.IO;  
using System.Windows.Forms;  public partial class MainForm : Form  
{  public MainForm()  {  InitializeComponent();  // 允许窗体接受文件拖拽  this.AllowDrop = true;  // 为窗体添加拖拽事件处理器  this.DragEnter += new DragEventHandler(MainForm_DragEnter);  this.DragDrop += new DragEventHandler(MainForm_DragDrop);  }  // 当文件拖拽到窗体上时触发  private void MainForm_DragEnter(object sender, DragEventArgs e)  {  // 检查拖拽的数据是否包含文件  if (e.Data.GetDataPresent(DataFormats.FileDrop))  {  // 允许放置  e.Effect = DragDropEffects.Copy;  }  }  // 当文件被放置到窗体上时触发  private void MainForm_DragDrop(object sender, DragEventArgs e)  {  // 获取拖拽的文件列表  string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);  // 遍历文件列表,处理每个文件  foreach (string file in files)  {  // 获取文件名  string fileName = Path.GetFileName(file);  // 显示文件名  MessageBox.Show("拖拽的文件名称: " + fileName);  // 这里你可以根据需要执行其他操作,如打开文件、处理文件内容等  }  }  
}注意事项
在这个示例中,MainForm 类是窗体的类。在窗体的构造函数中,我们设置了 AllowDrop 属性为 true,这允许窗体接受拖拽操作。然后,我们为 DragEnter 和 DragDrop 事件添加了事件处理器。
当文件拖拽到窗体上时,MainForm_DragEnter 方法会被调用,这里我们检查拖拽的数据是否包含文件,并设置拖拽效果为复制(DragDropEffects.Copy)。
当文件被放置到窗体上时,MainForm_DragDrop 方法会被调用。在这个方法中,我们从拖拽的数据中获取文件列表,并遍历每个文件,获取文件名并显示它。
请注意,你需要在你的WinForms应用程序中适当地放置这段代码,并确保你的窗体类名与示例中的 MainForm 匹配,或者相应地修改类名。此外,你可能还需要在窗体设计器中将 AllowDrop 属性设置为 true,或者通过代码设置它。
特此记录
anlog
2024年2月27日