C# 实现文件拖拽功能(Winform)

1、关键知识点说明:

通过DragEnter事件获得被拖入窗口的“信息”(可以是若干文件,一些文字等等),在DragDrop事件中对“信息”进行解析。窗体的AllowDrop属性必须设置成true;且必须有DragEnter事件(单独写DragDrop事件是不会具有拖拽功能的)。
 

2、属性设置

1)AllowDrop 属性设为True

2)对话框添加DragDrop和DragEnter属性

3、代码实现

using System;
using System.Windows.Forms;

namespace showpath
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void Form1_DragEnter(object sender, DragEventArgs e)                                         //获得“信息”
        {
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
                e.Effect = DragDropEffects.All;                                                              //重要代码:表明是所有类型的数据,比如文件路径
            else
                e.Effect = DragDropEffects.None;
        }

        private void Form1_DragDrop(object sender, DragEventArgs e)                                          //解析信息
        {
            string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();       //获得路径
            textBox1.Text = path;                                                                            //由一个textBox显示路径
        }
    }
}

 


版权声明:本文为shufac原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。