【发布时间】:2010-05-05 08:07:45
【问题描述】:
我使用自己的自定义视图来显示文件和文件夹,并使用搜索框跳转到特定文件夹。在这种情况下,如何向文件打开/保存对话框发送消息以强制它更改当前显示的文件夹。
例如如果对话框显示当前显示文件夹“C:\”的文件和文件夹,我想要一个 API(或任何一段代码)强制将当前文件夹更改为“D:\”
【问题讨论】:
我使用自己的自定义视图来显示文件和文件夹,并使用搜索框跳转到特定文件夹。在这种情况下,如何向文件打开/保存对话框发送消息以强制它更改当前显示的文件夹。
例如如果对话框显示当前显示文件夹“C:\”的文件和文件夹,我想要一个 API(或任何一段代码)强制将当前文件夹更改为“D:\”
【问题讨论】:
您可以使用InitialDirectory 在特定目录中打开对话框。
如果你想控制对话框在运行时的作用,那就有点复杂了。
【讨论】:
在创建 SaveFileDialog.InitialDirectory 之后,但在打开它之前设置它。
例如:
Stream myStream = null;
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1 .InitialDirectory = "d:\\" ;
saveFileDialog1 .Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
saveFileDialog1 .FilterIndex = 2 ;
saveFileDialog1 .RestoreDirectory = true ;
if(saveFileDialog1 .ShowDialog() == DialogResult.OK)
{
try
{
if ((myStream = saveFileDialog1 .OpenFile()) != null)
{
// Code to write the stream goes here.
myStream.Close();
}
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not save file to disk. Original error: " + ex.Message);
}
}
【讨论】:
将InitialDirectory属性设置为任意路径
【讨论】: