Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将richtextbox保存到文本文件(记事本)_C#_Winforms_If Statement_File Io_Save - Fatal编程技术网

C# 将richtextbox保存到文本文件(记事本)

C# 将richtextbox保存到文本文件(记事本),c#,winforms,if-statement,file-io,save,C#,Winforms,If Statement,File Io,Save,如何导出richtextbox中的文本并将其保存在记事本中 以下是我目前想要保存的内容。我需要把它串起来吗 if (listView1.Items[i].SubItems[1].Text == "Inactive") { richTextBox1.Text = richTextBox1.Text + listView1.Items[i].Text + " inactive on " + lbl_time.Text + "\n"; } 有一种简便的方法可以进行这样的快速保存,称为: 如果您

如何导出richtextbox中的文本并将其保存在记事本中

以下是我目前想要保存的内容。我需要把它串起来吗

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

有一种简便的方法可以进行这样的快速保存,称为:

如果您不需要更新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);
StringBuilder sb=新建StringBuilder();
对于(int i=0;i
这是我的解决方案,尽管它与给出的其他解决方案相同

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

@GrantWinney不,我很好。@GrantWinney在你给我链接之前不知道怎么早。我仍然可以发布我的解决方案吗?我正在尝试将文件名设置为当前日期和时间,但命名文件时不接受
。有alernative吗?假设我指定不覆盖现有文件,怎么做?我的意思是在不覆盖当前内容的情况下保存文件。好的,得到了很大帮助。还有一件事,
\n
记事本上不起作用,它只留下一个方形字符。换行还有其他选择吗?它在我的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(@"C:\Documents and Settings\pamojica\My Documents\" + lbl_date.Text + ".txt", richTextBox1.Text);
                }