首先将需要接收文件的控件的 AllowDrop 属性设置为 True,然后分别添加 DragEnter 和 DragDrop 事件:
//当鼠标拖动到控件时发生 private void Form1_DragEnter(object sender, DragEventArgs e) { //表示接收到的数据是文件类型 if (e.Data.GetDataPresent(DataFormats.FileDrop)) { //设置鼠标效果 e.Effect = DragDropEffects.All; } } //当拖放完成时发生 private void Form1_DragDrop(object sender, DragEventArgs e) { //取出拖放数据,返回类型为 Object,需要强制转换成 string[] 类型 var ary = e.Data.GetData(DataFormats.FileDrop) as string[]; for (int i = 0; i < ary.Length; i++) { //数组中的每个元素都是一个文件或目录的完整路径 var path = ary[i]; // TODO } }