c# – 从.net winforms应用程序实现文件拖动到桌面?
发布时间:2020-12-15 18:08:24 所属栏目:百科 来源:网络整理
导读:我有一个文件列表,其名称在列表框中,其内容存储在SQL表中,并希望我的应用程序的用户能够选择列表框中的一个或多个文件名并将其拖到桌面,桌面上的实际文件.我找不到任何有关如何做到这一点的文档.任何人都可以解释或指出解释吗? 稍后添加: 我已经能够通过处
我有一个文件列表,其名称在列表框中,其内容存储在SQL表中,并希望我的应用程序的用户能够选择列表框中的一个或多个文件名并将其拖到桌面,桌面上的实际文件.我找不到任何有关如何做到这一点的文档.任何人都可以解释或指出解释吗?
稍后添加: var files = new string[1]; files[0] = "full path to temporary file"; var dob = new DataObject(); dob.SetData(DataFormats.FileDrop,files); DoDragDrop(dob,DragDropEffects.Copy); 但是这看起来效率很低,笨拙,而且还没有找出一个很好的方式来摆脱累积的临时文件. 解决方法
我可以帮你一些这里有一些代码可以让你从列表框中拖出一些东西,当桌面上的东西被删除时,它会创建一个你机器上存在的文件到桌面的副本.
public partial class Form1 : Form { public Form1() { InitializeComponent(); this.listBox1.Items.Add("foo.txt"); this.listBox1.MouseDown += new MouseEventHandler(listBox1_MouseDown); this.listBox1.DragOver += new DragEventHandler(listBox1_DragOver); } void listBox1_DragOver(object sender,DragEventArgs e) { e.Effect = DragDropEffects.Copy; } void listBox1_MouseDown(object sender,MouseEventArgs e) { string[] filesToDrag = { "c:/foo.txt" }; this.listBox1.DoDragDrop(new DataObject(DataFormats.FileDrop,filesToDrag),DragDropEffects.Copy); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby – 在我的ramaze app上显示£符号时,我收到“不兼容的
- 结合配置文件、反射完善控制反转(IoC)、依赖注入(DI)
- 使用DataContractJsonSerializer进行JSON序列化的JSONHelpe
- VB.NET之旅--为代码减负-DataGridView直接绑定数据源
- Yaffs 文件系统分析
- Caused by: org.jbpm.api.JbpmException: resource jbpm.cf
- cocos-js 没有的Scene中重载onExit(),没有调用super();导致
- c# – 通过Postback保留UpdatePanel中DIV的滚动位置
- Mongodb索引的优化
- XML (5)