1

我有一个使用 Windows 窗体的程序,在该窗体中,我使用 openFileDialog 在某个目录中打开文件。然后我在不同的函数中使用 StreamReader,并且在我的 big/debug 目录中有第二个文件,我希望 streamReader 打开。但是由于某种原因,在我使用 openFileDialog 打开第一个文件后,StreamReader 会在该目录中查找第二个文件,而不是像往常一样在 bin/debug 中查找。

有谁知道他为什么这样做,我该如何解决?

提前致谢,

格雷格

4

3 回答 3

1

当您在打开的文件对话框中更改目录时,这也会导致您的应用程序的工作目录发生更改。因此,如果您尝试使用相对路径,它会出现在错误的位置。

解决方案是RestoreDirectory

于 2010-01-09T14:28:13.603 回答
1

有这种OpenFileDialog行为;它改变了应用程序的当前目录。为了防止这种情况发生,您可以使用RestoreDirectory.OpenFileDialog

于 2010-01-09T14:28:36.783 回答
0

如果不指定完整的文件路径而只指定文件名,则表示该文件在当前目录中。当您使用 OpenFileDialog 时,它会更改当前目录。

如果您想在某处访问文件而不管当前目录设置为什么,您必须为其指定完整路径。您可以使用Application.StartupPath获取程序所在文件夹的路径。

于 2010-01-09T14:30:59.350 回答