1. 程式人生 > >C# winform 拖拽效果

C# winform 拖拽效果

步驟:

1、 通過DragEnter事件獲得被拖入視窗的“資訊”(可以是若干檔案,一些文字等等),在DragDrop事件中對“資訊”進行解析。
2、接受拖放控制元件的AllowDrop屬性必須設定成true;
3、必須在DragEnter事件中設定好要接受拖放的效果,預設為無效果。(所以單獨寫DragDrop事件是不會具有拖拽功能的)

  1. privatevoid textBox1_DragEnter(object sender, DragEventArgs e)  
  2.        {  
  3.            if (e.Data.GetDataPresent(DataFormats.FileDrop))  
  4.            {  
  5.                e.Effect = DragDropEffects.Link;  
  6.                this.textBox1.Cursor = System.Windows.Forms.Cursors.Arrow;  //指定滑鼠形狀(更好看)
  7.            }  
  8.            else
  9.            {  
  10.                e.Effect = DragDropEffects.None;  
  11.            }  
  12.        }  
  13. privatevoid textBox1_DragDrop(
    object sender, DragEventArgs e)  
  14.        {  
  15.            //GetValue(0) 為第1個檔案全路徑
  16. span style="white-space:pre">   </span>    //DataFormats 資料的格式,下有多個靜態屬性都為string型,除FileDrop格式外還有Bitmap,Text,WaveAudio等格式
  17.            string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();  
  18.            textBox1.Text = path;  
  19.            this.textBox1.Cursor = System.Windows.Forms.Cursors.IBeam; //還原滑鼠形狀
  20.        }