我有以下代码:

OpenFileDialog dialog = new OpenFileDialog();
dialog.InitialDirectory = GetDataPath(...);
dialog.AutoUpgradeEnabled = false;
dialog.Filter = GetFilter(...);
if (dialog.ShowDialog(this) == DialogResult.OK)
{...}

我希望每次运行时,对话框都位于同一文件夹-GetDataPath(...)文件夹中,但该对话框仍保留在最后一个选定的文件夹中。

这是正确的行为吗?你知道如何解决这个问题吗?如果Windows将最后使用的路径保存在注册表中,您知道如何找到它吗?

编辑1:

和:
dialog.AutoUpgradeEnabled = true;

正在按预期工作...

EDIT2:与此处相同的问题Any known problems with getting SaveFileDialog's InitialDirectory property working in Windows 7?

最佳答案

不要将文件名包含在InitialDirectory中。仅路径。

From msdn:在Windows Vista上,如果将InitialDirectory设置为完整文件名而不是仅设置目录路径,则初始目录将默认为应用程序路径或用户最后一次从中选择文件的目录。

关于c# - OpenFileDialog InitialDirectory不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8817446/

10-09 06:04