您的位置:首页 > 其它

跨线程调用Windows窗体控件

2006-06-19 17:49 447 查看
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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: