c# - OpenFileDialog InitialDirectory 不起作用

标签 c# winforms openfiledialog

我有这个代码:

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/

相关文章:

c# - Function<> 可以递归调用自身吗?

c# - 如何在 Windows 窗体应用程序中随应用程序一起发布配置文件

vb.net - WinForms TableLayoutPanel ComboBox 无法正确调整大小

vb.net - 获取 OpenFileDialog 选择的文件的文件扩展名

c# - Bitmap.Save 参数无效

c# - 可选的线程安全(线程安全部分仅在条件下)

C# 在网络浏览器中打开 .xls 文件时,它会打开一个 excel 实例

c# - 错误 : DropdownList Returning 'System.Data.DataRowView' as Text Value of the Item Selected

c# - 如何在打开的文件上使用 OpenFileDialog

c# - 在 C# 中处理 OpenFileDialog?