SaveFileDialog是否另存为空白ext?-C#
所以我掌握了OpenFileDialog的诀窍,现在我似乎无法理解SaveFileDialog。看了几页,每一页都有自己的方法,但没有一页能够将richtextbox中的文本保存到一个文件中SaveFileDialog是否另存为空白ext?-C#,c#,C#,所以我掌握了OpenFileDialog的诀窍,现在我似乎无法理解SaveFileDialog。看了几页,每一页都有自己的方法,但没有一页能够将richtextbox中的文本保存到一个文件中 private void button1_Click(object sender, EventArgs e) { Stream myStream; SaveFileDialog exportdialogue = new SaveFileDial
private void button1_Click(object sender, EventArgs e)
{
Stream myStream;
SaveFileDialog exportdialogue = new SaveFileDialog();
exportdialogue.Filter = "txt files (*.txt)|*.txt*";
exportdialogue.FilterIndex = 2;
exportdialogue.RestoreDirectory = true;
if (exportdialogue.ShowDialog() == DialogResult.OK)
{
if ((myStream = exportdialogue.OpenFile()) != null)
{
StreamWriter wText = new StreamWriter(myStream);
wText.Write("Some Text");
myStream.Close();
}
}
}
使用richtextbox和普通按钮,也可以使用“Using System.IO;”(用于流)
我试图让按钮使用SaveFileDialog,这样它就可以将richtextbox中的内容导出到文本文件中
问题:
不确定我需要从这里做什么才能让它保存富文本框中的内容。
不知道当过滤器就位时,为什么SaveFileDialog不带扩展名保存文件。您需要使用reach textbox的savefile方法,并将savedialogbox中的文件名传递给它
reachtextbox.SaveFile(exportdialogue.FileName);
ps:它将类似于上面的代码 您设置:
exportdialogue.Filter = "txt files (*.txt)|*.txt*";
仅包含一个筛选器,但您可以设置:
exportdialogue.FilterIndex = 2;
这意味着使用第二个过滤器。(FilterIndex是基于1的)
如果设置FilterIndex=1,则文件的扩展名应为.txt您可以使用
使用{}
块来解决此问题:
试试这个:
SaveFileDialog exportdialogue = new SaveFileDialog();
exportdialogue.Filter = "txt files (*.txt)|*.txt*";
exportdialogue.FilterIndex = 2;
exportdialogue.RestoreDirectory = true;
if (exportdialogue.ShowDialog() == DialogResult.OK)
{
using( Stream myStream = exportdialogue.OpenFile())
{
StreamWriter wText = new StreamWriter(myStream);
wText.Write("Some Text");
wText.Close();
}
}
当然可以。:-)你的答案是错的<代码>使用无法解决问题。(这里正好有一个过滤器,但是代码设置了
FlterIndex=2
)如果您将reachtextbox的内容保存为文本,那么使用它有什么意义。如果这样做,您将丢失所有格式。@Max它会保留格式。。。不是真的。在rtb中,您可以对文本应用类似于word的格式。如果唯一的目的是,您可以使用纯文本框来实现。我将其更改为FilterIndex=1;而且它仍然不会另存为.txt。另外,请设置DefaultExt:)