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