C#线程中更改TextBox 和RichText的值

C#线程中更改TextBox 和RichText的值

        delegate void SetTextCallback(string text);
        private void SetText(string text)
        {
            if (this.txtLog.InvokeRequired)
            {
                SetTextCallback d = new SetTextCallback(SetText);
                this.Invoke(d, new object[] { text });
            }
            else
            {
                txtLog.AppendText(text + Environment.NewLine);
                txtLog.ScrollToCaret();

                this.txtLog.Focus();
                this.txtLog.Select(this.txtLog.TextLength, 0);
                this.txtLog.ScrollToCaret();
            }
        }
RichText可以设置字体、字体颜色、背景色等信息

private bool m_bolHighlight = false;
        private delegate void delInfoList(string text);//申明委托,防止不同线程设置richtextbox时出现错误
        void SetrichTextBox(string value)
        {

            if (rtxtLogs.InvokeRequired)
            {
                delInfoList d = new delInfoList(SetrichTextBox);
                rtxtLogs.Invoke(d, value);
            }
            else
            {
                if (rtxtLogs.Lines.Length > 5000)
                {
                    rtxtLogs.Clear();                    
                }

                //========richtextbox滚动条自动移至最后一条记录
                //让文本框获取焦点  
                rtxtLogs.Focus();
                //设置光标的位置到文本尾  
                rtxtLogs.Select(rtxtLogs.TextLength, 0);
                //滚动到控件光标处  
                rtxtLogs.ScrollToCaret();
                if (m_bolHighlight)
                {
                    rtxtLogs.SelectionFont = new Font("Verdana", 9, FontStyle.Bold);
                    rtxtLogs.SelectionColor = Color.Red;
                }
                rtxtLogs.AppendText(value + Environment.NewLine);                
            }
        }


阅读更多
文章标签: textbox c# string object
个人分类: ASP.NET
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭