当前位置:首页 > 开发 > C# > 正文内容

C#Winform接受拖放文件

C#10个月前 (01-10)
        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);
        }
    };
}


转载请注明出处。

本文链接:http://www.pythonopen.com/?id=7936

相关文章

C# double转为string并保留两位小数

在 C# 中,可以使用多种方式将 double 类型的数据转换为 string 类型并保留两位小数,...

c# Invalidate、Refresh、Refreshitem、Refreshitems的功能

Invalidate方法功能概述Invalidate方法主要用于使控件的特定区域(整个控件或部分区域...

C# 控件判断鼠标位置

        //...

C# i++和++i的区别

核心区别操作顺序            ...

C# 比较两个Image对象是否相同

方法思路基础检查:先检查空引用和图像尺寸像素格式验证:确保两个图像的像素格式相同内存锁定:使用Loc...