天堂的狼

更好的生活,来自不懈的努力与拼搏,不要仅仅看中结果,拼搏的过程同样是精彩的!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

摘自msdn

       // 代理实现异步调用以设置richTextBox控件text属性
        delegate void SetTextCallback(string text);


        // 如果调用线程和创建TextBox控件的线程不同,这个方法创建
        // 代理SetTextCallback并且自己通过Invoke方法异步调用它
        // 如果相同则直接设置Text属性
        private void SetText(string text)
        {
            // InvokeRequired需要比较调用线程ID和创建线程ID
            // 如果它们不相同则返回true
            if (this.tbxMessage.InvokeRequired)
            {
                if (!this.IsDisposed)
                {
                    SetTextCallback d = new SetTextCallback(SetText);
                    this.BeginInvoke(d, new object[] { text });
                }
            }
            else
            {
                tbxMessage.AppendText(text + "\n");
                tbxMessage.ScrollToCaret();
            }
        }

posted on 2009-03-31 17:25  天堂的狼  阅读(308)  评论(0编辑  收藏  举报