找出SaveFileDialog的“最后目录”

时间:2019-05-16 11:13:11

标签: c# winforms

我有一个视图,其中包含一个文本字段和一个按钮。 该按钮显示一个SaveFileDialog-选定的文件路径将分配给文本字段。

  var saveFileDialog = new System.Windows.Forms.SaveFileDialog();
  var lastPath = saveFileDialog.InitialDirectory; //empty

我想拥有的是知道位置,SaveFileDialog将在其中打开ShowDialog。

我知道可以设置InitialDirectory,但是默认情况下此属性为空。而且我明确地不想设置,我的目标是获得一个表格,该表格显然以某种方式记住了。

有没有一种方法(在下次通话时浪费更多的“保存”它。)

1 个答案:

答案 0 :(得分:2)

路径来自注册表-

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Comdlg32\LastVisitedPidlMRU

或对于较旧的Windows OS HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Comdlg32\OpenSaveMRU

还请注意@Jimi关于RestoreDirectory属性的内容。

编辑:我最初以为regkey / value只是一个unicode字符串,但使用起来并不那么直接。因此,请重新考虑此方法。如果您真的需要弄清楚按键的工作方式,建议您看一下-https://github.com/aelij/svcperf/blob/master/src/Viewer/UIUtils/MruFileHelper.cs