簡體   English   中英

C#如何在不使用對話框的情況下將Rich Text Box的文本直接保存到rtf中?

[英]C# How to directly save Rich Text Box's text into rtf without Dialog Box?

我有一個富文本框,並且還有一個用於富文本框的特定按鈕,當單擊該按鈕時,應將文本保存為rtf格式的特定位置。

我用谷歌搜索,但是沒有找到合適的解決方案來實現文件保存而不使用任何對話框!

希望我能在這里找到幫助,謝謝!

在保存或加載文件期間,對話框的唯一目的是獲取繼承人的位置。 如果必須使用特定的位置,則可以在代碼中的某個地方以一個簡單的常量結尾。 只需確保已逃脫斜線即可。

const string fileLocation = @"C:\Folder\file.rtf";

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

richTextBox1.SaveFile(fileLocation );

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

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);
}

使用OnClick事件和StreamWriter

public void button_Click(object sender, EventArgs e)
{
    using(var sr = new StreamWriter(@"C:\MyFilePath\file.rtf"))
    {
        sr.Write(rtf.Rtf);
    }
}

這應該可以解決問題:

System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\test\\test.rtf");
file.WriteLine(this.richTextBox1.Rtf);
file.Close();

確保使用.Rtf,因為.Text將不包含RTF格式的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM