RichTextBox最大显示行数、实现文本自动滚动

2022.2.28记录

RichTextBox设置最大显示行数如下

设置  RichTextBox  的 TextChanged  事件

方法一  

private void RichTextBox1_TextChanged(object sender, EventArgs e)
{
     int maxLine = 100;//最大显示行数100行
     if (richTextBox1.Lines.Length > maxLine)
     {
          int curLines = richTextBox1.Lines.Length - maxLine;
          string[] lines = richTextBox1.Lines;
          Array.Copy(lines, curLines, lines, 0, maxLine);
          Array.Resize(ref lines, maxLine);
         richTextBox1.Lines = lines;
     }
}

方法二

private void RichTextBox1_TextChanged(object sender, EventArgs e)
{
     int maxLine = 100;//最大显示行数100行
     if (richTextBox1.Lines.Length > maxLine)
     {
          richTextBox1.Text = richTextBox1.Text.Substring(richTextBox1.Lines[0].Length + 1);
     }
}

RichTextBox实现自动滚动并显示最新文本

private void SetRichboxText(object text)
{
     //richTextBox1.Focus(); //使文本框获取焦点      (如果子线程循环执行0.几秒的速度,不建议写这个参数,否则主线程其它控件获取不到焦点,长时间运行可能会出现界面UI卡死的情况)
       this.richTextBox1.AppendText(text.ToString());   //(  .AppendText 向文本框的当前文本追加文本,显示出来是多行文本)

       //this.richTextBox1.Text(text.ToString());   //(  .Text 显示出来是单行文本,根据需要选择.AppendText或者.Text)
     //richTextBox1.Select(richTextBox1.Text.Length, 0); //设置光标的位置到文本尾
       richTextBox1.ScrollToCaret(); //滚动到控件光标处
}

* 注意 如果需要 设置richTextBox的ReadOnly属性为True  

posted @   西红柿小生  阅读(4172)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示