/ / Tronquer du texte dans RichTextBox et TextBox - c #, wpf, exception

Tronquer du texte dans RichTextBox et TextBox - c #, wpf, exception

j'utilise RichTextBox et TextBox pour montrer des informations qui sont recueillies pendant plusieurs jours. Donc, il y a beaucoup de chaînes à l'intérieur après quelques jours et je reçois OutOfMemory exception. Je pense que cette erreur est due à beaucoup de données. Existe-t-il des propriétés ou fonctions permettant de limiter le nombre de chaînes à l'intérieur RichTextBox et TextBox? Je dois tronquer uniquement les anciennes chaînes qui sont en début de liste. Par exemple, regardez l'image ci-dessous:

entrer la description de l'image ici

Des idées?

Réponses:

0 pour la réponse № 1

J'ai créé un code simple qui me permet de résoudre ce problème. Pour 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);

Pour 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);
}

J'espère que ça aide quelqu'un d'autre!