所以我掌握了OpenFileDialog,现在我似乎无法理解SaveFileDialog。看了几页,每个页面都有自己的方法,但没有一个能够将richtextbox中的文本保存到文件中。
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和普通按钮,也“使用System.IO;” (对于流)
我试图让按钮使用SaveFileDialog,这样它就可以将richtextbox中的内容导出到文本文件中。
问题: 从这里不确定我需要做什么,以便从富文本框中保存内容。 当过滤器到位时,不知道为什么SaveFileDialog会保存没有扩展名的文件。
答案 0 :(得分:1)
你设置:
exportdialogue.Filter = "txt files (*.txt)|*.txt*";
只包含一个过滤器,但您设置了:
exportdialogue.FilterIndex = 2;
表示使用SECOND过滤器。 (FilterIndex是从1开始的。)
如果设置FilterIndex = 1,则文件的扩展名应为.txt
答案 1 :(得分:0)
您可以使用using {}
块来解决问题:
试试这个:
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();
}
}
答案 2 :(得分:-1)
你需要使用到达文本框的savefile方法,并从savedialogbox传递文件名。
reachtextbox.SaveFile(exportdialogue.FileName);
ps:它会像上面的代码一样。