手机版

c#中实现文件拖放打开的方法

时间:2021-11-28 来源:互联网 编辑:宝哥软件园 浏览:

C#实现文件拖放并打开文件需要知道的列表框的两个事件:当您在控件的边界内拖动对象时,便会发生DragEnter事件;该事件用于确定当前拖动的对象是不是您要放到控件上的对象。在将一个或多个文件拖到控件上时,需要处理此事件。这使得在将对象拖到控件上方时,能够根据所拖动的对象显示相应的图标。将拖动的对象释放到控件上时,会发生DragDrop事件。功能描述:向列表框拖入一个文件,列表框显示该文件的路径,然后单击该路径,点击打开按钮打开该文件

代码实现:需要将列表框的AllowDrop属性改为没错,并实现它的拖放这两个事件。复制代码代码如下:使用系统;使用系统。集合。通用;使用系统组件模型.使用系统。数据;使用系统。绘图;使用系统Linq .使用系统。文字;使用系统窗户。窗体;命名空间DragDrop{ public分部类DragDrop : Form {公共字符串文件路径;公共拖放(){ InitializeComponent();} ///摘要///获取列表框的值////summary ///returns/returns公共字符串GetListBoxItem(){字符串文件路径=字符串.空的;bool被选中=islistbox selected();if(被选中==true){字符串列表框项值=lbFilePath .选择编辑项目。ToString();文件路径=列表框项目值}其他{消息框.显示(必须选择列表框));}返回文件路径;} ///summary ///ListBox内的值是否被选中////summary////returns/returns public bool Islistbox selected(){ bool selected;if (lbFilePath .SelectedIndex==-1)//SelectedIndex==-1时,表示未选中任何项{ selected=false } else { selected=true }返回所选内容;} private void lbFilePath _ drag enter(对象发送者,DragEventArgs e){ if(e . data。getdata present(数据格式。文件拖放){ e.Effect=DragDropEffects .全部;} else { e.Effect=DragDropEffects .无;} }私有void lbFilePath _拖放(对象发送方,DragEventArgs e){ string[]s=(string[])e . data。getdata(数据格式. FileDrop,false);for(int I=0;长度;i ) { lbFilePath .项目。增列项目;} }私人void btnOpenFile_Click(对象发送者,EventArgs e){ string filePath=GetListBoxItem();if(!字符串IsNullOrEmpty(文件路径)){系统.诊断。进程。启动(文件路径);} } }}总结:数据对象的获取数据方法返回一个字符串数组,该数组包含拖到该列表框控件中的文件的完整路径名。可以使用此文件路径信息来执行需要对文件执行的任何操作。补充代码:复制代码代码如下:私人作废表格1 _拖动回车(对象发送者,系统。如果(数据格式文件拖放)e .效果=拖放效果.链接;埃尔西。效果=DragDropEffects .无;}私人空间表单1 _拖放(对象发送者,系统.窗户。表格。drageeventargse){//其中标签1。文本显示的就是拖进文件的文件名;标签1。文本=((系统。数组文件删除).GetValue(0).ToString();}

版权声明:c#中实现文件拖放打开的方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。