C#的richtextbox怎么实现滚动日志

发布时间: 2011/1/26 4:13:58

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

日志会有一个方法来加入

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

解决方法 1:

简单点的,可以这样:

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

赞助商