关闭

跨线程调用Windows窗体控件

标签: windowsthreadobjectstring
3488人阅读 评论(2) 收藏 举报

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:55293次
    • 积分:814
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:9篇
    • 译文:2篇
    • 评论:13条
    文章分类
    最新评论