在RichTextBox控件中有没有一种简单的方法来实现FIFO?
实际上我有一个测试工具,可以在一分钟内产生超过1000行,这就是为什么我想限制总行数,并且当一个新行添加到控件中时,应删除最后一行。
答案 0 :(得分:0)
今天我遇到了Infinite-Scroll design pattern。我认为这可能会有所帮助。
OLD ANSWER:
List<string> lines = new List<string>();
int max = 2;
int n = 0;
private void button1_Click(object sender, EventArgs e)
{
lines.Insert(0,n.ToString());
richTextBox1.Text = string.Join("\n", lines.Take(max).ToArray<string>());
n++;
}
这是非常简单的FIFO。同样在List<string> l
中,您将始终记录:)
答案 1 :(得分:0)
不是您问题的答案,但是您是否在一分钟内阅读了所有1000封邮件? 有没有办法(或者已经是)只记录来自“级别”的邮件。 引自java:
* SEVERE (highest value) * WARNING * INFO * CONFIG * FINE * FINER * FINEST (lowest value)
例如: 通常你会有:消息1(调试)和消息2(严重) 根据其级别对每行进行前缀:
现在您可以修改测试工具以仅记录特定级别。全部7个日志,1个日志仅1个等。 结果是不必要的日志记录和可读输出(例如,2个消息应该紧接着出现,但由于线程,在日志记录之间有20条消息...)