[英]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.