方法很简单,网上其实也有很多,我在这里再次介绍一下。
第一步,现将要接受文件的控件的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('\\')));
}
}
}