zoukankan      html  css  js  c++  java
  • Winform调用系统的剪切,复制,粘贴文件功能

      做一个小软件,类似于资源管理器的操作形式,剪切,复制,粘贴自然是少不了的了,在MSDN中找来好久,总算是明白过来了,代码如下:

            /// <summary>
            /// 复制或剪切文件至剪贴板(方法)
            /// </summary>
            /// <param name="files">需要添加到剪切板的文件路径数组</param>
            /// <param name="cut">是否剪切true为剪切,false为复制</param>
            public static void CopyToClipboard(string[] files, bool cut)
            {
                if (files == null) return;
                IDataObject data = new DataObject(DataFormats.FileDrop, files);
                MemoryStream memo = new MemoryStream(4);
                byte[] bytes = new byte[] { (byte)(cut ? 2 : 5), 0, 0, 0 };
                memo.Write(bytes, 0, bytes.Length);
                data.SetData("Preferred DropEffect", memo);
                Clipboard.SetDataObject(data);
            }

            /// <summary>
            /// 获取剪贴板中的文件列表(方法)
            /// </summary>
            /// <returns>System.Collections.List<string>返回剪切板中文件路径集合</returns>
            public static  List<string> GetClipboardList()
            {
                List<string> clipboardList=new List<string>();
                System.Collections.Specialized.StringCollection sc = Clipboard.GetFileDropList();
                for (int i = 0; i < sc.Count; i++)
                {
                    string listfileName = sc[i];
                    clipboardList.Add(listfileName);
                }
                return clipboardList;
            }

  • 相关阅读:
    页面上输入任意数字,点击按钮后计算阶乘。
    利用递归求两个数字的最大公约数。
    17css动画
    10Vue组件参数校验和非Props特性
    git rebase --continue出现“If there is nothing left to stage,chances are that something else already introduced the same changes; you might want to skip this patch.”
    9Vue父子组件的传递方式
    8Vue组件使用细节
    Block-scoped declarations问题解决
    7Vue中的set方法
    6Vue条件渲染
  • 原文地址:https://www.cnblogs.com/mane/p/2038937.html
Copyright © 2011-2022 走看看