这似乎很简单,但出于某种原因,我无法让它发挥作用。
我正在构建一个小型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;
}
答案 0 :(得分:2)
尝试在创建OpenFD1.RestoreDirectory = false;
时设置OpenFileDialog
。 RestoreDirectory属性确保在OpenFileDialog关闭之前重置Environment.CurrentDirectory中的值。