Вы можете использовать Queue<string>
для хранения сообщений журнала и отображения их с помощью свойства RichTextBox.Lines
.
Например:
private const int _maxCapacity = 10000;
private Queue<string> _messageQueue = new Queue<string>(_maxCapacity);
private void button1_Click(object sender, EventArgs e)
{
if (_messageQueue.Count >= _maxCapacity)
{
_messageQueue.Dequeue();
}
_messageQueue.Enqueue("message " + _count++.ToString());
richTextBox1.Lines = _messageQueue.ToArray();
}
Если вы хотите, чтобы самые последние сообщения появлялись сверху, переверните очередь:
richTextBox1.Lines = _messageQueue.Reverse().ToArray();