2010-07-09 95 views
4

在我的应用程序中,我有两个用户需要选择文件的地方。在这两种情况下,文件都在不同的目录中,但它们在运行之间通常是相同的。C#OpenFileDialog存储路径

OpenFileDialog似乎是默认使用的最后一个目录,但这对我来说没用,因为它几乎总是错误的文件夹,我最终在两个文件夹之间交替。我想以某种方式让第一个对话框记住上次打开时使用的路径,另一个记住它自己的路径。

实施例:路径A为C:\ FOO \条\东西\ x.dll,路径B为C:\ FOO \巴兹\任何\ y.xml

对话框一个打开和我选择A,然后后面的对话框b打开(默认为A),我必须导航回到B。 当我再次打开应用程序时,对话框a会打开(默认为B),并且必须再次导航回到A.

我想通过分别记住路径来避免所有这些额外的导航。有没有一个好的方法来做到这一点?

回答

5

当您打开每个对话框时,只需将对话框的InitialDirectory属性设置为上次用于该对话框的文件夹即可。

当然,这将需要保存每个对话框的目录,但它会提供您期望实现的行为。

+0

我喜欢它,但是我在对话框关闭后提取路径有点麻烦。我可以得到文件名,但有没有办法得到最后的路径,除了修剪到最后/? – captncraig 2010-07-09 17:34:54

+1

@CaptnCraig:使用System.IO.Path.GetDirectoryName(theFilename);请参阅:http://msdn.microsoft.com/en-us/library/system.io.path.getdirectoryname.aspx – 2010-07-09 17:37:25

+0

谢谢!工作很好。 – captncraig 2010-07-09 18:42:23