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添加节点点击事件,获取文件信息展现,这块也不复杂,可以自己尝试着做做。

  • 相关阅读:
    加密算法
    git 误操作
    element项目发布
    node命令
    计划
    第一次碰见类似留几手的段子手
    【vue】---猫眼项目中使用js组件的时候-------loading 加载 无法移除的原因---------
    【异步】---异步解决方案---
    【问题-方法】---buffer---解决方法,butter 文件转字符串
    【大脑】--如何让大脑快速记忆
  • 原文地址:https://www.cnblogs.com/topsyuan/p/11327342.html
Copyright © 2011-2022 走看看