5

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

4

6 回答 6

10
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);
  }
}
于 2011-09-14T13:01:13.850 回答
7

对于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);
    }
}
于 2011-09-14T11:59:36.690 回答
2

这适用于文本文件,并在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);
}
于 2014-02-17T22:57:53.617 回答
1

误读了问题 - 雷的回答对 OP 有效

这仅适用于 Windows 窗体。

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

并使用类似这样的方式保存文件(请参见此处):

rtf.SaveFile(dialog.FileName);
于 2011-09-14T11:58:17.223 回答
1
SaveFileDialog sfDialog = new SaveFileDialog();
sfDialog.ShowDialog();
OutputStream ostream = new FileOutputStream(new File(sfDialog.FileName));
WorkBook.write(ostream);
ostream.close();
于 2011-09-14T12:00:27.503 回答
0

您可以使用一个SaveFileDialog组件,在此处阅读以了解它的工作原理和工作示例。

于 2011-09-14T11:58:20.750 回答