为何多线程控件返回主线程时,文本显示总是如此漫长?

2026-04-02 11:391阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计151个文字,预计阅读时间需要1分钟。

为何多线程控件返回主线程时,文本显示总是如此漫长?

从msdn摘录的代码实现异步调用以设置RichTextBox控件text属性:

csharppublic delegate void SetTextCallback(string text);

public void SetTextBoxText(string text){ if (this.InvokeRequired) { this.Invoke(new SetTextCallback(SetTextBoxText), text); } else { this.Text=text; }}

摘自msdn代理实现异步调用以设置richTextBox控件text属性delegatevoidSetTextCallback(stringtext);如果调用线程和创建TextB

摘自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();             }         }

转:www.cnblogs.com/xinyuxin912/archive/2009/03/31/1426206.html

为何多线程控件返回主线程时,文本显示总是如此漫长?

本文共计151个文字,预计阅读时间需要1分钟。

为何多线程控件返回主线程时,文本显示总是如此漫长?

从msdn摘录的代码实现异步调用以设置RichTextBox控件text属性:

csharppublic delegate void SetTextCallback(string text);

public void SetTextBoxText(string text){ if (this.InvokeRequired) { this.Invoke(new SetTextCallback(SetTextBoxText), text); } else { this.Text=text; }}

摘自msdn代理实现异步调用以设置richTextBox控件text属性delegatevoidSetTextCallback(stringtext);如果调用线程和创建TextB

摘自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();             }         }

转:www.cnblogs.com/xinyuxin912/archive/2009/03/31/1426206.html

为何多线程控件返回主线程时,文本显示总是如此漫长?