/ / Премахване на текст в RichTextBox и TextBox - c #, wpf, изключение

Премахване на текст в RichTextBox и TextBox - c #, wpf, изключение

Използвам RichTextBox и TextBox за показване на информация, която се събира в продължение на няколко дни. Така че след няколко дни има много струни в нея и аз получавам OutOfMemory изключение. Мисля, че тази грешка се дължи на много данни. Има ли някои свойства или функции, които позволяват да се ограничи броят на струните вътре RichTextBox и TextBox? Трябва да съкращавам само старите струни, които са в началото на списъка. Например, разгледайте снимката по-долу:

въведете описанието на изображението тук

Някакви идеи?

Отговори:

0 за отговор № 1

Създадох прост код, който ми позволява да разреша този проблем. За TextBox:

if (limitLines>0 && simpleTextBox.LineCount > limitLines)
{
string tempText = "";
for (int i = simpleTextBox.LineCount-limitLines; i < simpleTextBox.LineCount; i++)
{
tempText += simpleTextBox.GetLineText(i);
}
simpleTextBox.Clear();
simpleTextBox.Text = tempText;

}
simpleTextBox.AppendText(data);

За RichTextBox:

        TextRange tr = new TextRange(richTextBox.Document.ContentEnd, richTextBox.Document.ContentEnd);
tr.Text = text + "rn";
tr.ApplyPropertyValue(TextElement.ForegroundProperty, solidColorBrush);

if (limitLines > 0 && richTextBox.Document.Blocks.Count > limitLines)
{
for (int i = richTextBox.Document.Blocks.Count - limitLines; i < richTextBox.Document.Blocks.Count; i++)
richTextBox.Document.Blocks.Remove(richTextBox.Document.Blocks.FirstBlock);
}

Надявам се, че помага на някой друг!