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  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM