方法很简单,网上其实也有很多,我在这里再次介绍一下。

第一步,现将要接受文件的控件的AllowDrop设为true,这里用listBox控件。

第二部,添加事件:

 public MainForm()
        {
            InitializeComponent();
            listBox1.DragDrop += new DragEventHandler(listBox1_DragDrop);
            listBox1.DragEnter += new DragEventHandler(listBox1_DragEnter);
        }

第三步,程序响应:

private void listBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.All;
}
}
private void listBox1_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
string[] MyFiles;
int i;
// 将文件赋给一个数组。

MyFiles = (string[])(e.Data.GetData(DataFormats.FileDrop));
// 循环处理数组并将文件名添加到列表中。
for (i = 0; i <= MyFiles.Length - 1; i++)
{
string str = MyFiles[i];

listBox1.Items.Add(str.Substring(str.LastIndexOf('\\') + 1, str.Length - 1 - str.LastIndexOf('\\')));
}
}
}