C WPF 快把檔案從桌面拖進我的窗體來!

2022-01-12 01:46:55 字數 1669 閱讀 8650

日期:202-11-27

上傳檔案時,一般是提供乙個上傳按鈕,點選上傳,彈出檔案(或者目錄選擇對話方塊),選擇檔案(或者目錄)後,從對話方塊物件中取得檔案路徑後,再進行上傳操作。

選擇對話方塊**如下:

openfiledialog openfiledialog = new openfiledialog();

openfiledialog.title = "選擇exe檔案";

openfiledialog.filter = "exe檔案|*.exe";

openfiledialog.filename = string.empty;

openfiledialog.filterindex = 1;

openfiledialog.multiselect = false;

openfiledialog.restoredirectory = true;

openfiledialog.defaultext = "exe";

if (openfiledialog.showdialog() == false)

string txtfile = openfiledialog.filename;

但一般來說,對使用者體驗最好的,應該是直接滑鼠拖拽檔案了:

下面簡單說說wpf中檔案拖拽的實現方式。

其實很簡單,只要拖拽接受控制項(或容器)註冊這兩個事件即可:dragenterdrop

先看看我的實現效果:

註冊事件:

grid_dragenter處理方法

private void grid_dragenter(object sender, drageventargs e)

else

}

dragdropeffects.link:處理拖拽檔案操作

grid_drop處理方法

private void grid_drop(object sender, drageventargs e)

; // 快捷方式需要獲取目標檔案路徑

if (filename.tolower().endswith("lnk"))

imagesource imagesource = systemicon.getimagesource(true, menuitem.filepath);

system.io.fileinfo file = new system.io.fileinfo(filename);

if (string.isnullorwhitespace(file.extension))

else

menuitem.type = menuitemtype.exe;

if (confighelper.addnewmenuitem(menuitem))

}catch (exception ex)

}

功能很簡單,不求精深,會用就行。

時間如流水,只能流去不流回。

日期:202-11-27

C WPF 快把檔案從桌面拖進我的窗體來!

日期 202 11 27 上傳檔案時,一般是提供乙個上傳按鈕,點選上傳,彈出檔案 或者目錄選擇對話方塊 選擇檔案 或者目錄 後,從對話方塊物件中取得檔案路徑後,再進行上傳操作。選擇對話方塊 如下 openfiledialog openfiledialog new openfiledialog ope...

C WPF 這次把檔案拖出去!

回顧上篇文章 c wpf 把檔案給我拖進來!提前看效果吧 上面效果的 很少,xaml中只註冊事件previewmouseleftbuttondown即可 事件處理 如下 處理檔案拽出操作 private void grid previewmouseleftbuttondown object send...

從傳統桌面到虛擬桌面的考慮之一 Profile

此篇文件是為了解決在國內很企業中在邁向虛擬桌面時比較常遇到的問題?因為在國內的企業中,還是有很從沒有部署域環境 active directory 所有的使用者桌面都處於 工作組 環境,所有使用者的資料 profile也是儲存在本地。而在真正部署虛擬桌面時,我們都是建議在域環境來進行的。此時,就會遇到...