我有这个代码:
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/