簡體   English   中英

OpenFileDialog和Environment.CurrentDirectory

[英]OpenFileDialog and Environment.CurrentDirectory

使用OpenFileDialog選擇文件后, Environment.CurrentDirectory更改為該文件的文件夾。 這是正常的嗎?

從我的理解Environment.CurrentDirectory應該始終是應用程序文件夾。

看一下

AppDomain.CurrentDomain.BaseDirectory和Environment.CurrentDirectory的區別

有什么不同之處?

  1. AppDomain.CurrentDomain.BaseDirectory
  2. Environment.CurrentDirectory
  3. 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM