打开文件对话框重用

时间:2015-04-30 15:24:32

标签: c# openfiledialog

这似乎很简单,但出于某种原因,我无法让它发挥作用。

我正在构建一个小型C#实用程序,它使用Open File Dialog从目录中选择XML文件。那部分工作正常。

将文件传输到Web服务并收到响应。没问题。

我只是想打开放置响应的DestDirectory。但是,无论我最终使用Open File Dialog打开第一次使用的目录         我在表单上尝试了两个Open File Dialog实例。         OpenFD1.Reset();         以编程方式重置所有值,即initialDirectory

做我想做的事似乎很简单,但我没有看到答案。

以下是代码的一部分:我在表单上有两个按钮,用于打开对话框。

    public void button1_Click(object sender, EventArgs e)
    {          
        OpenFD1.Title = "Open Test File";
        OpenFD1.Filter = "XML Files|*.xml";

        string SourceDir = AppSetting("SourceDir");
        OpenFD1.InitialDirectory = SourceDir;
        if (OpenFD1.ShowDialog() == DialogResult.OK)
        {
            sSelectedFile = OpenFD1.FileName.ToString();
            WFileName.Text = OpenFD1.FileName.ToString();
        }
        OpenFD1.CheckFileExists = true;
        OpenFD1.CheckPathExists = true;
        OpenFD1.InitialDirectory = null; ; 
    }

    private void button3_Click(object sender, EventArgs e)
    {
        OpenFD2.FileName = null;
        OpenFD2.Title = "Test Results";
        OpenFD2.Filter = "XML Files|*.xml";
        string DestDir = AppSetting("DestDir");
        OpenFD2.InitialDirectory = DestDir;
        if (OpenFD2.ShowDialog() == DialogResult.OK)
        {
            sSelectedFile = OpenFD2.FileName.ToString();
            WFileName.Text = OpenFD2.FileName.ToString();
        }
        OpenFD2.CheckFileExists=true;
        OpenFD2.CheckPathExists = true;
    }

1 个答案:

答案 0 :(得分:2)

尝试在创建OpenFD1.RestoreDirectory = false;时设置OpenFileDialog。 RestoreDirectory属性确保在OpenFileDialog关闭之前重置Environment.CurrentDirectory中的值。