簡體   English   中英

將RichTextBox保存到文本文件(記事本)

[英]Saving richtextbox to textfile(Notepad)

如何在RichTextBox中導出文本並將其保存在記事本中?

到目前為止,這是我要保存的內容。 我需要把它放在一個字符串中嗎?

if (listView1.Items[i].SubItems[1].Text == "Inactive")
{
   richTextBox1.Text = richTextBox1.Text + listView1.Items[i].Text + " inactive on " + lbl_time.Text + "\n";
}

有一個方便的方法可以像這樣進行快速保存,稱為File.WriteAllText

File.WriteAllText(@"c:\somepath\yourFile.txt", r.Text);

如果您不需要更新RichTextBox中的文本,則可以只保存以下文本:

if (listView1.Items[i].SubItems[1].Text == "Inactive")
{
    File.WriteAllText(@"c:\somepath\yourFile.txt",
        string.Concat(richTextBox1.Text, listView1.Items[i].Text, " inactive on ", lbl_time.Text, "\n"));
}

請注意,這將覆蓋現有文件,而不是將其追加。 您沒有指定這是否重要。

如果是這樣,並且您只想將文本追加到文件中(如果存在),請改用此方法:

File.AppendAllText(@"c:\somepath\yourFile.txt", r.Text);

重要的是如何填充RichTextBox。 我的意思是,它是通過循環或任何特定方法或事件填充的。

如果您正在填充RichTextBox循環。 那么您應該使用StringBuilder.AppendLine()StringBuilder.AppendFormat()方法代替串聯運算符+

StringBuilder sb = new StringBuilder();
for (int i=0; i< listView1.Items.Count; i++)
{
    if (listView1.Items[i].SubItems[1].Text == "Inactive")
    {
        sb.AppendFormat("{0} inactive on {1}{2}", listView1.Items[i].Text,lbl_time.Text,Environment.NewLine);
    }
}
richTextBox.Text = sb.ToString();
string path = System.IO.Path.Combine(Application.StartupPath, "MyFile.txt");
File.WriteAllText(path,richTextBox.Text);

這是我的解決方案,盡管它也與給定的其他解決方案相同

                    if (listView1.Items[i].SubItems[1].Text == "Inactive")
                {
                   richTextBox1.Text = richTextBox1.Text + listView1.Items[i].Text + " inactive on " + lbl_time.Text + "\n";
                   File.WriteAllText(@"C:\Documents and Settings\pamojica\My Documents\" + lbl_date.Text + ".txt", richTextBox1.Text);
                }

暫無
暫無

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

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