首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在没有对话框的情况下直接将富文本框的文本保存到C#中?

如何在没有对话框的情况下直接将富文本框的文本保存到C#中?
EN

Stack Overflow用户
提问于 2014-01-22 07:34:00
回答 3查看 2.2K关注 0票数 1

我有一个富文本框,还有一个用于富文本框的特定按钮,当单击该按钮时,应在特定位置将文本保存为rtf格式。

我谷歌了,但没有找到适当的解决方案来实现文件保存,而不使用任何对话框!

我希望我能在这里找到一些帮助,谢谢!

EN

回答 3

Stack Overflow用户

发布于 2014-01-22 07:38:32

保存或加载文件时,对话框的唯一用途是获取继承人位置。如果你必须使用特定的位置-你可以在你的代码中的某个地方使用一个简单的常量。只需确保您已对斜杠进行了转义。

代码语言:javascript
复制
const string fileLocation = @"C:\Folder\file.rtf";

因此,如果您使用的是WinForms,那么您可以使用RichTextBox.SaveFile

代码语言:javascript
复制
richTextBox1.SaveFile(fileLocation );

如果你使用的是WPF,你可以使用TextRange.Save

代码语言:javascript
复制
TextRange t = new TextRange(richTextBox1.Document.ContentStart, richTextBox1.Document.ContentEnd);
using (FileStream file = new FileStream(fileLocation, FileMode.Create))
{
    t.Save(file, System.Windows.DataFormats.Rtf);
}
票数 3
EN

Stack Overflow用户

发布于 2014-01-22 07:36:24

使用OnClick事件和StreamWriter

代码语言:javascript
复制
public void button_Click(object sender, EventArgs e)
{
    using(var sr = new StreamWriter(@"C:\MyFilePath\file.rtf"))
    {
        sr.Write(rtf.Rtf);
    }
}
票数 2
EN

Stack Overflow用户

发布于 2014-01-22 07:37:27

这应该能起到作用:

代码语言:javascript
复制
System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\test\\test.rtf");
file.WriteLine(this.richTextBox1.Rtf);
file.Close();

请确保使用.Rtf,因为.Text不会包含.Rtf格式的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21271277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档