RichTextBox的怪问题(Winfrom)
用一个RichTextBox保存显示转换程序的LOG,希望能实时显示最后加入的log信息,加了如下自动选择:
private void rtOutput_TextChanged(object sender, EventArgs e)
{
this.rtOutput.SelectionStart = this.rtOutput.TextLength;
this.rtOutput.Select();
}
可是实际跑起来的时候像在放电影,一直在顶端和底端之间切换,每秒各10桢左右,变成都能隐约看得到。;-(
我在后面加:
this.rtOutput.Refresh();
Application.DoEvents();
都没用
------解决方案--------------------用ListView更简单!
------解决方案--------------------可以用listbox。
然后用 listbox.selectindex = listbox.items.count-1;就会自动滚动。
------解决方案--------------------up
------解决方案--------------------最好在添加的地方加入滚动
而不是在TextChange事件里加
richTextBox1.AppendText(DateTime.Now.ToString() + "\r\n ");
richTextBox1.SelectionStart = int.MaxValue;
richTextBox1.ScrollToCaret();
------解决方案--------------------重复执行了rtOutput_TextChanged事件
不明白你代码的意思
但在rtOutput_TextChanged事件末尾加上
this.troutput.textchanged-=this......
卸载事件处理
再在必要时添加
可以解决