C# 如何使用C添加“保存文件”对话框#

C# 如何使用C添加“保存文件”对话框#,c#,wpf,richtextbox,savefiledialog,notepad,C#,Wpf,Richtextbox,Savefiledialog,Notepad,我需要实现类似于记事本的保存选项。假设我在RichTextBox旁边放置了一个按钮,我想要的是,当单击此按钮时,将打开一个对话框,该对话框看起来与单击另存为时显示的对话框类似。我想通过在保存对话框中输入文件名,以文本格式保存RichTextBox的内容。误读问题-Ray的答案对OP有效 这仅适用于Windows窗体 您应该看看SaveFileDialog类: 并使用如下方式保存文件(请参阅): 有一个SaveFileDialog组件,您可以使用它,通过阅读了解它的工作原理和工作示例。对于WPF,

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

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

这仅适用于Windows窗体

您应该看看SaveFileDialog类:

并使用如下方式保存文件(请参阅):


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

对于WPF,您应该使用它


这适用于文本文件,并在
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);
}

谢谢你的链接。来自RichTextBox的文件内容如何。如何将这些内容保存到相应的文件中?添加了有关从RTF保存文件的更多信息。将
System.Windows.Forms
命名空间替换为
Microsoft.Win32.SaveFileDialog
,我认为您可以继续。RichTextBox在WPFDamn中没有保存文件,我错过了这个。你说得对。你的回答完美地解决了OP的问题,我的错。嗯,你怎么知道使用[savefiledialog]标记的?假问题?@Hans:我正在键入savefile,然后有人建议我使用这个标签。在回答下面的问题之前,我认为这个标签的字面意思是“保存文件的对话”。也就是说,我不知道它是一个控件的名称。好吧,很荣幸在你发布它之前给你答案。保存内容怎么样。XAML标签可能会打开一个对话框,但是内容应该如何保存?@Sam,OpenFile需要更少的权限。FileOutputStream不是java吗?我在C#2005中使用FileOutputStream。使用方式如下。。java.io.OutputStream ostream=new java.io.FileOutputStream(new java.io.File(FileName));工作簿。编写(ostream);ostream.close();FileOutputStream是否存在于.net中?感谢您提供详细的帖子,其中详细介绍了文件类型和标题。如何添加默认文件名?仅在if块上添加此代码
\u SD.FileName=“Untitled”
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);
    }
}
SaveFileDialog sfDialog = new SaveFileDialog();
sfDialog.ShowDialog();
OutputStream ostream = new FileOutputStream(new File(sfDialog.FileName));
WorkBook.write(ostream);
ostream.close();
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);
  }
}
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);
}