如何使用c#添加保存文件对话框

本文关键字:保存文件 对话框 添加 何使用 | 更新日期: 2023-09-27 18:08:28

我需要实现类似于Notepads' save选项的东西。假设我在RichTextBox旁边放置了一个按钮,我想要的是,当单击此按钮时,将打开一个对话框,该对话框看起来类似于单击另存为时出现的对话框。我想将RichTextBox的内容保存为文本格式,通过在保存对话框中输入文件名。

如何使用c#添加保存文件对话框

private void Save_As_Click(object sender, EventArgs e)
{
  SaveFileDialog _SD = new SaveFileDialog(); 
  _SD.Filter = "Text File (*.txt)|*.txt|Show All Files (*.*)|*.*";
  _SD.FileName = "Untitled"; 
  _SD.Title = "Save As";
  if (__SD.ShowDialog() == DialogResult.OK)
  {
   RTBox1.SaveFile(__SD.FileName, RichTextBoxStreamType.UnicodePlainText);
  }
}

对于WPF您应该使用这个SaveFileDialog。

var dialog = new Microsoft.Win32.SaveFileDialog();
dialog.Filter = "Rich Text File (*.rtf)|*.rtf|All Files (*.*)|*.*";
dialog.FileName = "Filename.rtf"; //set initial filename
if (dialog.ShowDialog() == true)
{
    using (var stream = dialog.OpenFile())
    {
       var range = new TextRange(myRichTextBox.Document.ContentStart,
                                 myRichTextBox.Document.ContentEnd);
       range.Save(stream, DataFormats.Rtf);
    }
}

这适用于文本文件,并在WPF中进行了测试。

var dialog = new Microsoft.Win32.SaveFileDialog();
dialog.Filter = "Text documents (.txt)|*.txt|All Files (*.*)|*.*"; 
dialog.FileName = "Filename.txt"; 
if (dialog.ShowDialog() == true)
{                
    File.WriteAllText(dialog.FileName, MyTextBox.Text);
}
SaveFileDialog sfDialog = new SaveFileDialog();
sfDialog.ShowDialog();
OutputStream ostream = new FileOutputStream(new File(sfDialog.FileName));
WorkBook.write(ostream);
ostream.close();

误读了问题- Ray的答案对OP是有效的

这只适用于Windows窗体。

您应该看一下SaveFileDialog类:http://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog.aspx

然后保存文件,如下所示:

rtf.SaveFile(dialog.FileName);

您可以使用SaveFileDialog组件,请阅读此处以了解其工作原理和工作示例