Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF中输出文本框的行限制_C#_Wpf_Textbox_Console - Fatal编程技术网

C# WPF中输出文本框的行限制

C# WPF中输出文本框的行限制,c#,wpf,textbox,console,C#,Wpf,Textbox,Console,我的应用程序中有一个文本框输出。我想添加一个功能,当文本框达到一定的限制(比如100行)时,它将开始删除旧的行。我该怎么做 我正在使用AppendText和ScrollToEnd方法更新我的文本框 谢谢 代码:这里没有什么特别的 xaml- xaml.cs private void WorkerProgressChanged(object sender, ProgressChangedEventArgs e) { Output.AppendText(string.Format("{0}

我的应用程序中有一个文本框输出。我想添加一个功能,当文本框达到一定的限制(比如100行)时,它将开始删除旧的行。我该怎么做

我正在使用AppendText和ScrollToEnd方法更新我的文本框

谢谢

代码:这里没有什么特别的

xaml-

xaml.cs

private void WorkerProgressChanged(object sender, ProgressChangedEventArgs e)
{
    Output.AppendText(string.Format("{0} --- {1}", DateTime.Now, e.UserState));
    Output.ScrollToEnd();
}

此代码是为Winform应用程序编写的,但您也可以在wpf应用程序中使用它:-

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

        }
    }

希望这有帮助

您是否使用多行文本框?为什么要包含[console]标记?如果你使用列表框,你要求的行为是微不足道的;为什么不使用列表框?你能展示一下你的代码吗?@Okuma.Scott我想我只是想制作一个类似控制台的输出窗口,但我还没有想过使用列表框。“但我认为我不能正常地在那本书中选择文本?”亚什在书中编辑了它