绕过WPF应用程序中的保存对话框
本文关键字:保存 对话框 WPF 应用程序 绕过 | 更新日期: 2023-09-27 18:15:11
在使用SaveFileDialog类时,我试图绕过保存对话框。我希望能够写入文档,而不必提示用户决定是否要保存,文件应该在他们单击按钮时自动保存。
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
saveFileDialog1.RestoreDirectory = true ;
saveFileDialog1.InitialDirectory = @"C:'";
if(saveFileDialog1.ShowDialog() == DialogResult.OK)
{
// Code to write the stream goes here.
}
我已经尝试删除if语句以及使用…
saveFileDialog1.CreatePRompt = false;
似乎什么都不起作用…什么好主意吗?
我想你是想绕过覆盖提示对话框。
在这种情况下,你可以使用
saveFileDialog1.OverwritePrompt = false;
否则,你不需要SaveFileDialog,你可以保存你的流而不使用它
我找到了答案。我问的问题实际上是两个。第一个是如何绕过SaveFileDialog,我想使用SaveFileDialog,因为它可以记住它访问的最后一个文件夹,并在执行读取/保存时打开该文件夹。也就是说,我实现了这个…
Directory = System.AppDomain.CurrentDomain.BaseDirectory;
这将设置目录为我的可执行文件的位置。
接下来,我去掉了SaveFileDialog,直接写入文件,而不需要提示用户。
感谢所有的指示和想法!
最后的结果是…
Directory = System.AppDomain.CurrentDomain.BaseDirectory;
using(System.IO.StreamWriter file = new System.IO.StreamWriter(Directory, false))
{
// File contents
}
如果你想保存,但你需要用户选择一个文件名,我会使用这个:
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
//setup properties of Dialog
bool filenamepicked = false;
while (!filenamepicked)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
//Save file
filenamepicked = true;
}
else
{
MessageBox.Show("You have to use a file name.");
}
}