繁体   English   中英

WPF中输出文本框的行数限制

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM