把我的电脑中文件用鼠标拖到form上,并取得文件的路径,如何实现?谢谢。
解决问题后增加100分。

解决方案 »

  1.   

    1. 在 Visual C# .NET 中新建一个 Windows 窗体应用程序。默认情况下将创建 Form1。  
    2. 使用工具框向 Form1 添加一个列表框控件。  
    3. 在“属性”窗口中,将该列表框控件的 AllowDrop 属性更改为 True,以允许将对象拖到控件上。 
    4. 在解决方案资源管理器中,右键单击 Form1,然后单击查看代码。  
    5. 若要处理 DragEnter 事件,请将下面的方法添加到 Windows 窗体设计器在 Form1 类中生成的代码段下面: private void listBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
    {
    if(e.Data.GetDataPresent(DataFormats.FileDrop))
    e.Effect = DragDropEffects.All;
    else
    e.Effect = DragDropEffects.None;
    }
     
    6. 若要处理 DragDrop 事件,请将下面的方法添加到 Form1 类中,紧挨在第 5 步中添加的方法后面: private void listBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
    {
    string[] s = (string[]) e.Data.GetData(DataFormats.FileDrop, false);
    int i;
    for(i = 0; i < s.Length; i++)
    listBox1.Items.Add(s[i]);
    }
     
    7. 若要将这两个事件处理程序与控件事件相关联,请将以下代码添加到 Form1 的 InitializeComponent 方法中。 确保将此代码添加到已实例化 ListBox1 后的位置: this.listBox1.DragDrop += new
               System.Windows.Forms.DragEventHandler(this.listBox1_DragDrop);
    this.listBox1.DragEnter += new
               System.Windows.Forms.DragEventHandler(this.listBox1_DragEnter); 
    8. 生成并运行该项目。  
    9. 将一个或多个文件从桌面或另一文件夹拖到列表框控件中。 您会注意到,文件的完整路径添加到了列表框控件中。