#region 用invoke修改页面中的测试的值(多线程基础以及 多线程更新主线程界面)
delegate void MyDelegate(int value);
Thread t;
int iInvokeCount = 0;
#endregion
#region 用invoke修改页面中的测试的值
/// <summary>
/// 用invoke修改页面中的测试的值
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void btnInvoke_Click(object sender, EventArgs e)
{
t = new Thread(doWork);
t.Start();
}
// 要长时间做的工作
void doWork() {
MyDelegate d = new MyDelegate(setInvokeValue);
while (true)
{
++iInvokeCount;
this.Invoke(d, iInvokeCount);
Thread.Sleep(100);
}
}
// 更新用户界面
void setInvokeValue(int value)
{
this.tbResultShow.Text = value.ToString();
}
#endregion