我为正在创建的程序创建了一个日志系统,而且我现在已将它用于执行此操作的位置:
void outToLog(string output)
{
logRichTextBox.AppendText(output + "\r\n");
logRichTextBox.ScrollToCaret();
}
但它最终将RichTextBox
的最后一行输出为空白(因为我使用\n
)并且我希望最后一行只是输出,而不是空行。另一种方法是让我将"\r\n"
放在开头,但除了它在RichTextBox
的开头之外,它具有相同的效果。
帮助?感谢
答案 0 :(得分:7)
在换行符后附加文字。
void outToLog(string output)
{
logRichTextBox.AppendText("\r\n" + output);
logRichTextBox.ScrollToCaret();
}
如果您不想在开始时使用换行符,请检查TextBox是否为空文本,并仅在TextBox不为空时添加\r\n
。
void outToLog(string output)
{
if(!string.IsNullOrWhiteSpace(logRichTextBox.Text))
{
logRichTextBox.AppendText("\r\n" + output);
}
else
{
logRichTextBox.AppendText(output);
}
logRichTextBox.ScrollToCaret();
}
答案 1 :(得分:6)
呃,为什么不检查?如果文本框为空 - 只需输出输出,但如果文本框不为空,请添加新行,然后附加输出
void outToLog(string output)
{
if (String.IsNullOrEmpty(logRichTextBox.Text))
logRichTextBox.AppendText(output);
else
logRichTextBox.AppendText(Environment.NewLine + output);
logRichTextBox.ScrollToCaret();
}