C# winform 拖拽效果
阿新 • • 發佈:2019-01-29
步驟:
1、 通過DragEnter事件獲得被拖入視窗的“資訊”(可以是若干檔案,一些文字等等),在DragDrop事件中對“資訊”進行解析。
2、接受拖放控制元件的AllowDrop屬性必須設定成true;
3、必須在DragEnter事件中設定好要接受拖放的效果,預設為無效果。(所以單獨寫DragDrop事件是不會具有拖拽功能的)
- privatevoid textBox1_DragEnter(object sender, DragEventArgs e)
- {
-
if (e.Data.GetDataPresent(DataFormats.FileDrop))
- {
- e.Effect = DragDropEffects.Link;
- this.textBox1.Cursor = System.Windows.Forms.Cursors.Arrow; //指定滑鼠形狀(更好看)
- }
- else
- {
- e.Effect = DragDropEffects.None;
- }
- }
-
privatevoid textBox1_DragDrop(
- {
- //GetValue(0) 為第1個檔案全路徑
- span style="white-space:pre"> </span> //DataFormats 資料的格式,下有多個靜態屬性都為string型,除FileDrop格式外還有Bitmap,Text,WaveAudio等格式
-
string path = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
- textBox1.Text = path;
- this.textBox1.Cursor = System.Windows.Forms.Cursors.IBeam; //還原滑鼠形狀
- }