跨线程调用Windows窗体控件

转载 2006年06月19日 17:49:00

delegate void SetTextCallback(string text);
  private void SetText(string text)
        {
            // InvokeRequired required compares the thread ID of the
            // calling thread to the thread ID of the creating thread.
            // If these threads are different, it returns true.
            if (this.stbsuccess.InvokeRequired)
            {
                SetTextCallback d = new SetTextCallback(SetText);
                this.Invoke(d, new object[] { text });
            }
            else
            {
                this.stbsuccess.Text = text;
            }
        }

 Thread newThread = new Thread(new ThreadStart(threadName));    //创建线程 
  threadName.Start();           

private BackgroundWorker backgroundWorker1;
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
        private void setTextBackgroundWorkerBtn_Click(object sender,EventArgs e)
        {
            this.backgroundWorker1.RunWorkerAsync();
        }

c#中如何跨线程调用windows窗体控件?

我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。首先来看传统方法: public partial c...

C#中跨线程调用windows窗体控件

c#中如何跨线程调用windows窗体控件? 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题。然而我们并不能用传统方法来做这个问题,下面我将详细的介绍。 首...

跨线程调用窗体控件

访问 Windows 窗体控件本质上不是线程安全的。如果有两个或多个线程操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态。还可能出现其他与线程相关的 bug,包括争用情况和死锁。确保以线程安...

C#跨线程调用窗体控件的问题

前段时间遇到跨线程调用窗体控件的问题,其实一句话System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;就可以解决,但...

C# Winform项目中多线程环境下, 如何跨线程对Window窗体控件进行安全访问?

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX 个人网站: http://www.x86asm.com QQ交流: 643439947 编程生涯: 2001年~至今[共15年...

理解windows 窗体和wpf的跨线程调用

最近在做wpf项目,但是发现从wpf中有些函数方法不存在了,比如windows 窗体中的InvokeRequired,在wpf中不存在。 你曾开发过Windows窗体程序,可能会注意到有时...

理解Windows窗体和WPF中的跨线程调用

你曾开发过Windows窗体程序,可能会注意到有时事件处理程序将抛出InvalidOperationException异常,信息为“跨线程调用非法:在非创建控件的线程上访问该控件”。这种Windows...

c#如何跨越线程调用窗体上的控件 GOOD

一、System.Windows.Forms.MethodInvoker 类型是一个系统定义的委托,用于调用不带参数的方法。         private Thread myThread;   ...
  • Baple
  • Baple
  • 2014年04月19日 15:13
  • 1502

从线程操作主窗体控件

  • 2010年02月07日 09:59
  • 29KB
  • 下载

对 Windows 窗体控件进行线程安全调用

http://msdn.microsoft.com/zh-cn/library/ms171728(v=vs.110).aspx
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:跨线程调用Windows窗体控件
举报原因:
原因补充:

(最多只允许输入30个字)