[英]Line limit for an output textbox in WPF
我的應用程序中有一個文本框輸出。 我想添加一個功能,當文本框達到某個限制(例如100行)時,該功能將開始刪除舊行。 我該怎么做?
我正在使用AppendText和ScrollToEnd方法來更新我的文本框。
謝謝。
代碼:這里沒有什么特別的。
XAML-
<TextBox ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Auto" Margin="12,6,6,12" x:Name="Output" IsReadOnly="True" Grid.Row="1" />
xaml.cs
private void WorkerProgressChanged(object sender, ProgressChangedEventArgs e)
{
Output.AppendText(string.Format("{0} --- {1}", DateTime.Now, e.UserState));
Output.ScrollToEnd();
}
這段代碼是為Winform應用程序編寫的,但是您也可以在wpf applicaton中使用它:
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
string[] lines = richTextBox1.Lines;
int x = lines.Length;
if(x>100)
{
richTextBox1.Lines = richTextBox1.Lines.Skip(x - 100).ToArray();
richTextBox1.ScrollToCaret();
richTextBox1.Select(richTextBox1.Text.Length, 0);
}
}
希望這可以幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.