[英]OpenFileDialog and Environment.CurrentDirectory
使用OpenFileDialog
選擇文件后, Environment.CurrentDirectory
更改為該文件的文件夾。 這是正常的嗎?
從我的理解Environment.CurrentDirectory應該始終是應用程序文件夾。
看一下
AppDomain.CurrentDomain.BaseDirectory和Environment.CurrentDirectory的區別
有什么不同之處?
- AppDomain.CurrentDomain.BaseDirectory
- Environment.CurrentDirectory
- AppDomainSetup.ApplicationBase
1和3基本相同。 區別在於AppDomainSetup.ApplicationBase是可寫的,但AppDomain.BaseDirectory是只讀的,因為在創建appdomain后無法更改它。
2是完全不同的東西。 它用於解決相對路徑等問題。 您可以隨時在代碼中更改CurrentDirectory,也可以通過FileDialogs之類的內容進行更改。
因為對話框在搜索文件或文件夾時更改了Environment.CurrentDirectory ..或者選擇它們進行上傳..等等。
注意:如您對問題的評論中所示,請在鏈接到重復問題后使用
FileDialog.RestoreDirectory property.
是的,這是正常的,當前目錄並不總是應用程序文件夾。 運行cmd並使用cd命令更改目錄。 您剛剛更改了Environment.CurrentDirectory中顯示的相同值! 當用戶通過命令行或類似機制指定文件名時,您應該只使用當前目錄值。 如果您希望應用程序文件夾使用Application.StartupPath屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.