一直都没试过拖放操作的用处,今天试了试,发现真的很好用!!
下面的代码没有打入注释,加入了一个ListBox,当文件拖放上来后,讲内容显示在里面
private void lstFilePath_DragEnter(object sender, DragEventArgs e)
拖放操作和文件复制小功能 _文件复制,拖放,C#        
{
拖放操作和文件复制小功能 _职场_04            
if (e.Data.GetDataPresent(DataFormats.FileDrop))
拖放操作和文件复制小功能 _文件复制,拖放,C#_05            
{
拖放操作和文件复制小功能 _职场_04                e.Effect 
= DragDropEffects.Link;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _职场_04            
else
拖放操作和文件复制小功能 _休闲_11            
{
拖放操作和文件复制小功能 _职场_04                e.Effect 
= DragDropEffects.None;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _职场_16        }

拖放操作和文件复制小功能 _休闲_17
拖放操作和文件复制小功能 _休闲_17        
private void lstFilePath_DragDrop(object sender, DragEventArgs e)
拖放操作和文件复制小功能 _职场_19        
{
拖放操作和文件复制小功能 _职场_04            
foreach (string strPath in (string[])e.Data.GetData(DataFormats.FileDrop))
拖放操作和文件复制小功能 _文件复制,拖放,C#_23            
{
拖放操作和文件复制小功能 _职场_04                lstFilePath.Items.Add(strPath);
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _职场_16        }

拖放操作和文件复制小功能 _休闲_17将整个窗体代码都复制下来,是一个复制的小程序,将拖放到LISTBOX里的文件复制到文本框里指定的位置,里面用到了一个外部控件,可以使用普通的button替换之

using System;
拖放操作和文件复制小功能 _休闲_17
using System.Collections.Generic;
拖放操作和文件复制小功能 _休闲_17
using System.ComponentModel;
拖放操作和文件复制小功能 _休闲_17
using System.Data;
拖放操作和文件复制小功能 _休闲_17
using System.Drawing;
拖放操作和文件复制小功能 _休闲_17
using System.Text;
拖放操作和文件复制小功能 _休闲_17
using System.Windows.Forms;
拖放操作和文件复制小功能 _休闲_17
using System.IO;
拖放操作和文件复制小功能 _休闲_17
using System.Diagnostics;
拖放操作和文件复制小功能 _休闲_17
拖放操作和文件复制小功能 _休闲_17
namespace PersonalDisk
拖放操作和文件复制小功能 _文件复制,拖放,C#_40
{
拖放操作和文件复制小功能 _职场_04    
public partial class frmDrag : Form
拖放操作和文件复制小功能 _休闲_44    
{
拖放操作和文件复制小功能 _文件复制,拖放,C#_47        
/// <summary>
拖放操作和文件复制小功能 _职场_04        
/// 获得/设置一个值,判断是否已经存在了一个类的实例
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        
/// </summary>

拖放操作和文件复制小功能 _职场_04        public static bool IsExist=false;
拖放操作和文件复制小功能 _职场_04        
拖放操作和文件复制小功能 _职场_04        
public frmDrag()
拖放操作和文件复制小功能 _职场_54        
{
拖放操作和文件复制小功能 _职场_04            InitializeComponent();
拖放操作和文件复制小功能 _职场_04            frmDrag.IsExist 
= true;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void frmDrag_MouseDown(object sender, MouseEventArgs e)
拖放操作和文件复制小功能 _文件复制,拖放,C#_62        
{
拖放操作和文件复制小功能 _职场_04            
//如果鼠标指针在标题栏范围内并且按下了鼠标左键,则触发移动标题栏方法
拖放操作和文件复制小功能 _职场_04
            if (e.Button == MouseButtons.Left && e.Y <= 25)
拖放操作和文件复制小功能 _文件复制,拖放,C#_67            
{
拖放操作和文件复制小功能 _职场_04                Program.ReleaseCapture();
拖放操作和文件复制小功能 _职场_04                Program.SendMessage(
this.Handle, Program.WM_SYSCOMMAND, Program.SC_MOVE + Program.HTCAPTION, 0);
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void picControlClose_Click(object sender, EventArgs e)
拖放操作和文件复制小功能 _休闲_76        
{
拖放操作和文件复制小功能 _职场_04            frmDrag.IsExist 
= false;            
拖放操作和文件复制小功能 _职场_04            
this.Close();
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void picControlMin_Click(object sender, EventArgs e)
拖放操作和文件复制小功能 _职场_84        
{
拖放操作和文件复制小功能 _职场_04            
this.WindowState = FormWindowState.Minimized;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void lstFilePath_DragEnter(object sender, DragEventArgs e)
拖放操作和文件复制小功能 _文件复制,拖放,C#_91        
{
拖放操作和文件复制小功能 _职场_04            
if (e.Data.GetDataPresent(DataFormats.FileDrop))
拖放操作和文件复制小功能 _职场_95            
{
拖放操作和文件复制小功能 _职场_04                e.Effect 
= DragDropEffects.Link;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _职场_04            
else
拖放操作和文件复制小功能 _休闲_101            
{
拖放操作和文件复制小功能 _职场_04                e.Effect 
= DragDropEffects.None;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void lstFilePath_DragDrop(object sender, DragEventArgs e)
拖放操作和文件复制小功能 _文件复制,拖放,C#_109        
{
拖放操作和文件复制小功能 _职场_04            
foreach (string strPath in (string[])e.Data.GetData(DataFormats.FileDrop))
拖放操作和文件复制小功能 _职场_113            
{
拖放操作和文件复制小功能 _职场_04                lstFilePath.Items.Add(strPath);
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void ExBtnClose_ClickEvent(object sender, EventArgs e)
拖放操作和文件复制小功能 _文件复制,拖放,C#_121        
{
拖放操作和文件复制小功能 _职场_04            picControlClose_Click(
null,null);
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void ExBtnClear_ClickEvent(object sender, EventArgs e)
拖放操作和文件复制小功能 _文件复制,拖放,C#_128        
{
拖放操作和文件复制小功能 _职场_04            lstFilePath.Items.Clear();
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void ExBtnDel_ClickEvent(object sender, EventArgs e)
拖放操作和文件复制小功能 _休闲_135        
{
拖放操作和文件复制小功能 _职场_04            lstFilePath.Items.RemoveAt(lstFilePath.SelectedIndex);
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void picControlBring_Click(object sender, EventArgs e)
拖放操作和文件复制小功能 _休闲_142        
{
拖放操作和文件复制小功能 _职场_04            
if (this.TopMost == true)
拖放操作和文件复制小功能 _文件复制,拖放,C#_146            
{
拖放操作和文件复制小功能 _职场_04                
this.TopMost = false;
拖放操作和文件复制小功能 _职场_04                picControlBring.Image 
= PersonalDisk.Properties.Resources.btnBottom;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _职场_04            
else
拖放操作和文件复制小功能 _文件复制,拖放,C#_153            
{
拖放操作和文件复制小功能 _职场_04                
this.TopMost = true;
拖放操作和文件复制小功能 _职场_04                picControlBring.Image 
= PersonalDisk.Properties.Resources.btnTop;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void ExBtnExecute_ClickEvent(object sender, EventArgs e)
拖放操作和文件复制小功能 _休闲_162        
{
拖放操作和文件复制小功能 _职场_04            ExBtnExecute.CtlEnabled 
= false;
拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04            
for (int i = 0; i < lstFilePath.Items.Count; i++)
拖放操作和文件复制小功能 _职场_168            
{
拖放操作和文件复制小功能 _职场_04                Application.DoEvents();
拖放操作和文件复制小功能 _职场_04                lstFilePath.SetSelected(i, 
true);
拖放操作和文件复制小功能 _职场_04                
拖放操作和文件复制小功能 _职场_04                
//如果当前字符串是一个目录则拖放操作和文件复制小功能 _休闲_03.
拖放操作和文件复制小功能 _职场_04
                if (Directory.Exists(lstFilePath.Items[i].ToString()))
拖放操作和文件复制小功能 _文件复制,拖放,C#_177                
{
拖放操作和文件复制小功能 _职场_04                    CopyDirectory(lstFilePath.Items[i].ToString(), txtSelDrive.Text 
+"\\"+ Path.GetFileName(lstFilePath.Items[i].ToString()));
拖放操作和文件复制小功能 _职场_04                    lstFilePath.Items[i] 
= "复制完成拖放操作和文件复制小功能 _休闲_03";
拖放操作和文件复制小功能 _文件复制,拖放,C#_09                }

拖放操作和文件复制小功能 _职场_04                
else
拖放操作和文件复制小功能 _文件复制,拖放,C#_185                
{
拖放操作和文件复制小功能 _职场_04                    
if (!File.Exists(lstFilePath.Items[i].ToString())) continue//如果文件不存在继续下一个循环
拖放操作和文件复制小功能 _职场_04
                    File.Copy(lstFilePath.Items[i].ToString(), txtSelDrive.Text + "\\" + Path.GetFileName(lstFilePath.Items[i].ToString()));
拖放操作和文件复制小功能 _职场_04                    lstFilePath.Items[i] 
= "复制完成拖放操作和文件复制小功能 _休闲_03";
拖放操作和文件复制小功能 _文件复制,拖放,C#_09                }

拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04            lstFilePath.Items.Clear();
拖放操作和文件复制小功能 _职场_04            ExBtnExecute.CtlEnabled 
= true;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04
拖放操作和文件复制小功能 _职场_04        
private void txtSelDrive_DoubleClick(object sender, EventArgs e)
拖放操作和文件复制小功能 _职场_200        
{
拖放操作和文件复制小功能 _职场_04            FolderSelDialog.ShowDialog(
this);
拖放操作和文件复制小功能 _职场_04            txtSelDrive.Text 
= FolderSelDialog.SelectedPath;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _职场_04        
拖放操作和文件复制小功能 _休闲_207        
/// <summary>
拖放操作和文件复制小功能 _职场_04        
/// 复制一个目录下的所有文件或目录到一个新的目录下
拖放操作和文件复制小功能 _职场_04        
/// </summary>
拖放操作和文件复制小功能 _职场_04        
/// <param name="sourcePath">源目录路径</param>
拖放操作和文件复制小功能 _文件复制,拖放,C#_09        
/// <param name="destPath">目标目录路径</param>

拖放操作和文件复制小功能 _职场_04        private void CopyDirectory(string sourcePath, string destPath)
拖放操作和文件复制小功能 _职场_214        
{
拖放操作和文件复制小功能 _职场_04            
try
拖放操作和文件复制小功能 _文件复制,拖放,C#_218            
{
拖放操作和文件复制小功能 _职场_04                
//如果目标路径没有以\结尾则加之
拖放操作和文件复制小功能 _职场_04
                if (destPath[destPath.Length - 1!= Path.DirectorySeparatorChar)
拖放操作和文件复制小功能 _文件复制,拖放,C#_223                
{
拖放操作和文件复制小功能 _职场_04                    destPath 
+= Path.DirectorySeparatorChar;
拖放操作和文件复制小功能 _文件复制,拖放,C#_09                }

拖放操作和文件复制小功能 _职场_04                
if (!Directory.Exists(destPath))
拖放操作和文件复制小功能 _文件复制,拖放,C#_229                
{
拖放操作和文件复制小功能 _职场_04                    Directory.CreateDirectory(destPath);
拖放操作和文件复制小功能 _文件复制,拖放,C#_09                }

拖放操作和文件复制小功能 _职场_04                
string[] fileList = Directory.GetFileSystemEntries(sourcePath);
拖放操作和文件复制小功能 _职场_04                
foreach (string file in fileList)
拖放操作和文件复制小功能 _休闲_236                
{
拖放操作和文件复制小功能 _职场_04                    
//如果是一个目录则
拖放操作和文件复制小功能 _职场_04
                    if (Directory.Exists(file))
拖放操作和文件复制小功能 _休闲_241                    
{
拖放操作和文件复制小功能 _职场_04                        CopyDirectory(file, destPath 
+ Path.GetFileName(file));
拖放操作和文件复制小功能 _文件复制,拖放,C#_09                    }

拖放操作和文件复制小功能 _职场_04                    
else
拖放操作和文件复制小功能 _职场_247                    
{
拖放操作和文件复制小功能 _职场_04                        File.Copy(file, destPath 
+ Path.GetFileName(file),true);
拖放操作和文件复制小功能 _文件复制,拖放,C#_09                    }

拖放操作和文件复制小功能 _文件复制,拖放,C#_09                }

拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _职场_04            
catch(IOException ioe)
拖放操作和文件复制小功能 _文件复制,拖放,C#_255            
{
拖放操作和文件复制小功能 _职场_04                MessageBox.Show(ioe.Message, 
"复制文件时出错", MessageBoxButtons.OK, MessageBoxIcon.Warning);
拖放操作和文件复制小功能 _文件复制,拖放,C#_09            }

拖放操作和文件复制小功能 _文件复制,拖放,C#_09        }

拖放操作和文件复制小功能 _文件复制,拖放,C#_09    }

拖放操作和文件复制小功能 _职场_16}