打开“文件”对话框初始目录

本文关键字:对话框 文件 打开 | 更新日期: 2023-09-27 18:28:22

InitialDirectory路径有问题,我使用了下面显示的部分代码。OpenDialog总是显示我上次打开文件的目录,但我无法设置新的相对路径。。我试着设置绝对路径,但也没用。

private static string path = System.Reflection.Assembly.GetExecutingAssembly().Location;
public static string OpenDialog()
    {
        // Create OpenDialog 
        var dlg = new Microsoft.Win32.OpenFileDialog();
        // initial directory for OpenFileDialog need fix
        if(Directory.Exists(path))
        {
            dlg.InitialDirectory = path;
        } 
        dlg.RestoreDirectory = true;

打开“文件”对话框初始目录

在您的示例中,"path"被设置为.exe,这将导致if(Directory.Exists(path))失败,因此,对话框将打开到最后一个已知的好目录,因为InitialDirectory不会被设置为您想要的值。试着先硬编码一个已知的好目录路径。或者你可以做这样的事情来修复它:

path = Directory.GetParent(System.Reflection.Assembly.GetExecutingAssembly().Location).FullName;