使用自动跟踪光标记录到文本框
问题描述:
我正在使用WinForms TextBox控件进行日志记录。它已被设置为多行滚动条。我正在使用以下内容插入文字:使用自动跟踪光标记录到文本框
textBox.Text += logMessage;
滚动条不会自动跟随最新的日志条目。有没有办法做到这一点?
答
我迟到了,但是在记录时要小心这是你的文本字段的长度。你要经常修剪它的头部(但不要太频繁...)。我使用的策略是使用最大字符数限制,例如5000,并且当文本达到限制的两倍时,将其降至极限。
string LimitText(string Text)
{
int textLimit = 5000;
//let the field grow to double the limit, then chop it in half
if (Text.Length > textLimit * 2)
{
Text = Text.Substring(Text.Length - textLimit, textLimit);
}
return Text;
}
双重限制的事情是有减少子串操作的发生。另外,如果您在长时间运行的程序中使用此功能,这个问题真的只是一个问题,而这些程序会不断添加到文本字段。 (是的,我也登录到一个文本文件,通常用于调试,这更适用于快速诊断...)
+0
伟大的建议,谢谢! – 2010-10-21 22:39:04
我尝试了这两种方法,但没有在一起。谢谢! – 2010-07-14 02:46:41