一.用System.EventHandler
Thread myThread;
private void button1_Click(object sender, EventArgs e)
{
myThread=new Thread(new ThreadStart(CopyText));
myThread.Start();
}
private void CopyText()
{
string a = "我是一个参数";//传递的参数
this.textBox2.BeginInvoke(new System.EventHandler(UpdateUI),a);//核心
}
private void UpdateUI(object o, System.EventArgs e)
{
//UI线程设置textBox2属性
textBox2.Text = textBox1.Text+"/r/n"+o.ToString();
}
二.用delegate
Thread myThread;
private void button3_Click(object sender, EventArgs e)
{
//delegate
myThread = new Thread(new ThreadStart(ThreadStartTest));
myThread.Start();
}
//delegate
public delegate void Test();
private void ThreadStartTest()
{
this.textBox2.BeginInvoke(new Test(CpyeTextFromText1));
}
private void CpyeTextFromText1()
{
textBox2.Text = textBox1.Text;
}
//delegate 结束