你应该尝试添加从富文本从加载的文件名或FileInfo的。如果文件尚未保存,请提示保存文件。否则,保存到缓存的文件信息。
partial class YourForm : Form
{
string filePath;
private void SaveMyFile_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(filePath))
{
SaveFileDialog saveFile1 = new SaveFileDialog();
saveFile1.DefaultExt = "*.rtf";
saveFile1.Filter = "RTF Files|*.rtf";
if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
saveFile1.FileName.Length > 0)
{
filePath = saveFile1.FileName;
}
else return;
}
try
{
richTextBox1.SaveFile(filePath, RichTextBoxStreamType.PlainText);
}
catch (Exception ee)
{
// Put exception handling code here
}
}
}
按照下面的评论,如果你想要一个另存为按钮,你可以尝试以下方法:
partial class YourForm : Form
{
Button saveFileAsButton; // Add this using the Forms Designer
private void saveFileAsButton_Click(object sender, EventArgs e)
{
SaveFileDialog saveFile1 = new SaveFileDialog();
saveFile1.DefaultExt = "*.rtf";
saveFile1.Filter = "RTF Files|*.rtf";
if (saveFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK &&
saveFile1.FileName.Length > 0)
{
try
{
richTextBox1.SaveFile(saveFile1.FileName, RichTextBoxStreamType.PlainText);
filePath = saveFile1.FileName;
}
catch (Exception ee)
{
// Put exception handling code here (e.g. error saying file cannot be saved)
}
}
}
}
注filePath
的设置是如何在try块。如果保存失败,则不希望丢失原始文件路径。
如果您的表格有MenuStrip
,我建议将保存功能移到菜单中。
(顺便说一句,在你的过滤器RTF类型名称将是为“Rich Text Document
”更好。)
请出示你在那里打开该文件中的代码... – Yahia 2012-01-31 17:07:11