我在使用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;
似乎没什么用......有什么想法吗?
答案 0 :(得分:0)
我想你想绕过覆盖提示对话框。
在这种情况下,您可以使用
saveFileDialog1.OverwritePrompt = false;
否则,您不需要SaveFileDialog,您可以在不使用它的情况下保存您的信息流。
答案 1 :(得分:0)
我找到了答案。我问的问题实际上是两个。第一个是如何绕过SaveFileDialog,我想使用saveFileDialog,因为它可以记住它访问的最后一个文件夹,并在执行读取/保存时打开到该文件夹。话虽如此我实现了这个...
strtok()
这会将Directory设置为我的可执行文件的位置。
接下来,我摆脱了SaveFileDialog,只是在没有提示用户的情况下写入文件。
感谢所有的指示和想法!
最终结果......
Directory = System.AppDomain.CurrentDomain.BaseDirectory;
完全符合我的需要。
答案 2 :(得分:-1)
如果你想保存,但需要用户选择文件名,我会使用:
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.");
}
}