C#/VB.NET实现拖拽添加文件/文件夹并获得路径

  • 原创
  • |
  • 浏览:1467
  • |
  • 更新:
  • |
  • 标签:文件夹 

有时为了让软件更方便使用,需要实现拖拽添加文件或文件夹的操作,可参考本文。

工具/原料

  • VS开发环境

方法/步骤

  1. 1

    首先,

    在窗体上添加一个ListBox控件,将其AllowDrop属性设置为True。

  2. 2

    接着,

    在该控件的DragEnter事件添加如下代码:

    private void lsFiles_DragEnter(object sender, DragEventArgs e)

    {

        if (e.Data.GetDataPresent(DataFormats.FileDrop))

        {

            e.Effect = DragDropEffects.Link;

        }

        else

        {

            e.Effect = DragDropEffects.None;

        }

    }

    需要注意的是,这个事件的代码不得不写,否则会失效。

  3. 3

    然后,

    在该控件的DragDrop事件添加如下代码:

    private void lsReady_DragDrop(object sender, DragEventArgs e)

    {

        foreach (string filepath in (System.Array)e.Data.GetData(DataFormats.FileDrop))

        {

            lsFiles.Items.Add(filepath);

        }

         

    }

  4. 3
    相关内容未经许可获取自百度经验
  5. 4

    最后,

    运行该程序,可以发现直接向该list拖入文件或文件夹,即可添加到它的项目列表。

  6. 5

    如果只想保留文件,不想保留文件夹,可以改成如下代码:

    private void lsReady_DragDrop(object sender, DragEventArgs e)

     {

         foreach (string filepath in (System.Array)e.Data.GetData(DataFormats.FileDrop))

         {

             if (File.Exists(filepath))

             {

                 lsFiles.Items.Add(filepath);

             }               

         }

          

     }

    END
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部
相关标签文件夹