如何在不使最后一行空白的情况下向富文本框添加新行?

How do I add a new line to a richtextbox without making the last line blank?

我正在为我正在创建的程序制作一个日志系统,我目前将它放在它执行此操作的位置:

void outToLog(string output)
{
    logRichTextBox.AppendText(output + "\r\n");
    logRichTextBox.ScrollToCaret();
}

但它最终将 RichTextBox 的最后一行输出为空白(因为我使用的是 \n)并且我希望最后一行只是输出的内容,而不是空行。我的另一种选择是将 "\r\n" 放在开头,但这只具有相同的效果,除了它在 RichTextBox.

的开头

帮忙?谢谢

在换行符后追加文本。

void outToLog(string output)
{
    logRichTextBox.AppendText("\r\n" + output);
    logRichTextBox.ScrollToCaret();
}

如果您不想在开头使用换行符,请检查文本框是否为空文本,并且仅在文本框不为空时才添加 \r\n

void outToLog(string output)
{
    if(!string.IsNullOrWhiteSpace(logRichTextBox.Text))
    {
        logRichTextBox.AppendText("\r\n" + output);
    }
    else
    {
        logRichTextBox.AppendText(output);
    }
    logRichTextBox.ScrollToCaret();
}

呃,为什么不检查?如果文本框为 - 只需输入输出,但如果文本框为 非空 ,请添加一个 新行 然后追加输出。

void outToLog(string output)
{
    if (String.IsNullOrEmpty(logRichTextBox.Text)) 
        logRichTextBox.AppendText(output);
    else
        logRichTextBox.AppendText(Environment.NewLine + output);

    logRichTextBox.ScrollToCaret();
}