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);
}