OpenFileDialog和Environment.CurrentDirectory
使用OpenFileDialog
选择文件后, Environment.CurrentDirectory
更改为该文件的文件夹。 这是正常的吗?
从我的理解Environment.CurrentDirectory应该始终是应用程序文件夹。
因为对话框在搜索文件或文件夹时更改了Environment.CurrentDirectory ..或者选择它们进行上传..等等。
注意:如您对问题的评论中所示,请在链接到重复问题后使用
FileDialog.RestoreDirectory property.
看一下
AppDomain.CurrentDomain.BaseDirectory和Environment.CurrentDirectory的区别
有什么不同之处?
- AppDomain.CurrentDomain.BaseDirectory
- Environment.CurrentDirectory
- AppDomainSetup.ApplicationBase
1和3基本相同。 区别在于AppDomainSetup.ApplicationBase是可写的,但AppDomain.BaseDirectory是只读的,因为在创建appdomain后无法更改它。
2是完全不同的东西。 它用于解决相对路径等问题。 您可以随时在代码中更改CurrentDirectory,也可以通过FileDialogs之类的内容进行更改。
是的,这是正常的,当前目录并不总是应用程序文件夹。 运行cmd并使用cd命令更改目录。 您刚刚更改了Environment.CurrentDirectory中显示的相同值! 当用户通过命令行或类似机制指定文件名时,您应该只使用当前目录值。 如果您希望应用程序文件夹使用Application.StartupPath属性。