C#Winform接受拖放文件
public Form1()
{
InitializeComponent();
this.AllowDrop = true; // 关键步骤1:允许窗体接受拖放
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))// 关键步骤2:检查拖入的是否是文件
{
e.Effect = DragDropEffects.Copy; // 设置鼠标为“复制”效果
}
}
private void MainForm_DragDrop(object sender, DragEventArgs e)
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);// 关键步骤3:用户松开鼠标后,获取文件路径
foreach (string file in files)
{
Console.WriteLine(file);
}
}
Lambda形式
public Form1()
{
InitializeComponent();
this.AllowDrop = true; // 关键步骤1:允许窗体接受拖放
this.DragEnter += (sender, e) =>
{
if (e.Data.GetDataPresent(DataFormats.FileDrop)) // 关键步骤2:检查拖入的是否是文件
e.Effect = DragDropEffects.Copy; // 设置鼠标为"复制"效果
};
this.DragDrop += (sender, e) =>
{
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); // 关键步骤3:用户松开鼠标后,获取文件路径
foreach (string file in files)
{
Console.WriteLine(file);
}
};
}转载请注明出处。