zoukankan      html  css  js  c++  java
  • winform 将文件拖放到窗体上

    现在的一些软件开发软件如VScode,HBuilder等软件,都支持将文件直接拖入到软件中展示,这种操作极大的方便的我们开发,要是在winform中能不能实现这种功能。

    思路:修改winform窗体的AllowDrop属性,让窗体可以接受用户拖到它上面的数据,当文件拖到窗体时触发DragEnter时间,所以我们要新建一个Form1_DragEnter事件,在事件中获取文件的路径,最后将文件路径放到listbox中展示。

    第一步:窗体属性设置,this.AllowDrop = true;

    第二步:新增DragEnter事件,每当有文件拖入到窗体时都会触发这个事件,  private void Form1_DragEnter(object sender, DragEventArgs e){}

    第三步:获取文件的路径,最后将文件路径放到listbox中展示

      private void Form1_DragEnter(object sender, DragEventArgs e)
            {
                //判断是否有文件拖入
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                    //获取拖入的文件路径
                    string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);
                    for (int i = 0; i < files.Length; i++)
                    {//将拖放入窗体的文件的文件名加入ListBox
                        listBox1.Items.Add(files[i]);
                    }
                }
            }

    进阶: 通过获取到的文件路径,遍历出所有子文件内容,然后将数据绑定到类似于treeview树状展示,再给treeview添加节点点击事件,获取文件信息展现,这块也不复杂,可以自己尝试着做做。

  • 相关阅读:
    js中(function(){…})()立即执行函数写法理解
    JS 立即执行的函数表达式(function)写法
    javascript中call,apply,bind的用法对比分析
    C++成员函数指针的应用
    typeid详解
    dynamic_cast
    C++标准转换运算符dynamic_cast
    继承的构造函数
    考虑写一个不抛出异常的swap函数
    布隆过滤器(转)
  • 原文地址:https://www.cnblogs.com/topsyuan/p/11327342.html
Copyright © 2011-2022 走看看