我试图为自己创建一个简单的记事本。 目前我已经创建了一个按钮,我可以打开文件并获取内容。 如何创建“保存文件”按钮,以便我的richboxtext的每一行都转到新的.txt文件?
我希望我能保存到我选择的文件名而不是静态文件名,所以我使用SaveFileDialog。
这就是我对Open File的所作所为。
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
Stream plusma = openFileDialog1.OpenFile();
string faila_nosaukums = openFileDialog1.FileName;
string faila_teksts = File.ReadAllText(faila_nosaukums);
rtf_NotePad.Text = faila_teksts;
}
目前没有保存文件:
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
}
----------更新-----------------
保存文件:
saveFileDialog1.Filter = "Text Files (*.txt)|*.txt|RTF Files (*.rtf)|*.rtf";
saveFileDialog1.AddExtension = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
rtf_NotePad.SaveFile(saveFileDialog1.FileName, RichTextBoxStreamType.PlainText);
}
添加颜色:
colorDialog1.ShowDialog();
rtf_NotePad.ForeColor = colorDialog1.Color;
答案 0 :(得分:1)
您可以使用RichTextBox.SaveFile()
方法:
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
rtf_NotePad.SaveFile(saveFileDialog1.FileName);
}
此外,存在用于打开文件的类似方法。这是RichTextBox.LoadFile()
方法。像这样使用它:
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
rtf_NotePad.LoadFile(openFileDialog1.FileName);
}
答案 1 :(得分:1)
您可以使用富文本框的SaveFile(String, RichTextBoxStreamType)
方法,并将RichTextBoxStreamType.PlainText
作为第二个参数传递。
此外,如果您想让用户选择以.txt
格式或.rtf
格式保存:
var saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "Text Files (*.txt)|*.txt|RTF Files (*.rtf)|*.rtf";
saveFileDialog.AddExtension = true;
if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
var extension = System.IO.Path.GetExtension(saveFileDialog.FileName);
if(extension.ToLower()==".txt") /*saveFileDialog.FilterIndex==1*/
richTextBox1.SaveFile(saveFileDialog.FileName, RichTextBoxStreamType.PlainText);
else
richTextBox1.SaveFile(saveFileDialog.FileName, RichTextBoxStreamType.RichText);
}
您应该知道.rft
格式与.txt
格式不同。
如果以.rtf
格式保存,则格式(包括字体和颜色)仍然存在,但如果以.txt
格式保存,则仅保存纯文本。如果您想模拟记事本,则不需要使用.rtf
格式。
另一点是,如果您只想使用记事本这样的Font
选项,则字体选项可以是User Settings
,可以通过Settings.settings
保存。然后,您可以在加载应用程序后为TextBox
/ RichTextBox
设置该字体。这样您就可以以.txt
格式保存文件。