首页 新闻 会员 周边

richtextbox做滚动日志的疑问

0
悬赏园豆:5 [已解决问题] 解决于 2011-01-12 02:17

我想用richtextbox做个实时日志的显示窗口

日志会有一个方法来加入

日志的量非常大,如何实现党richtextbox中显示一定行数后,自动丢弃早先加入的行(头部),这个过程最好平滑过多,我要实现的是类似flashfxp 右下的日志窗口中的那种效果

 

小侠客的主页 小侠客 | 初学一级 | 园豆:120
提问于:2010-12-30 03:43
< >
分享
最佳答案
0

简单点的,可以这样:

private string demoText = "---[白天非诚勿扰,晚上让子弹飞,结果有了赵氏孤儿!]";
private void GetContent(int line)
{
//StringBuilder sb = new StringBuilder();
string s = string.Empty;
for (int i = 1; i <= line; i++)
{
s
= DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "-" + "" + i.ToString() + "次日记" + demoText;
rtbMain.AppendText(s
+ System.Environment.NewLine);
}

}

private void rtbMain_TextChanged(object sender, EventArgs e)
{
if (rtbMain.Lines.Length > 20)
{
rtbMain.Text
= rtbMain.Text.Substring(rtbMain.Lines[0].Length + 1);
}

}

 

也可以参考这里:

http://www.codeproject.com/KB/cs/scrollingTextbox.aspx

收获园豆:5
邀月 | 高人七级 |园豆:25475 | 2010-12-30 12:48
rtbMain.Text = rtbMain.Text.Substring(rtbMain.Lines[0].Length + 1); 这个直接赋值会导致界面闪烁,当数据快速变化时,将非常卡。。
小侠客 | 园豆:120 (初学一级) | 2010-12-30 15:28
@languanhua:你可以参考下这里:http://www.codeproject.com/KB/cs/scrollingTextbox.aspx
邀月 | 园豆:25475 (高人七级) | 2010-12-31 09:17
其他回答(1)
0

加入的时候就做个累加器(变量),加入前判断过量清楚。

Astar | 园豆:40805 (高人七级) | 2010-12-30 13:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册