/** 要想线程操作主线程的控件,首先声明一个委托(delegate)D,* 然后实例化委托d,再然后再子线程中使用this.BeginInvoke(d),* 就可以访问主线程的控件。* */using System;using System.Threading;using System.Windows.Forms;namespace FormTest{public partial class Form1 : Form{private Thread mThread;private delegate void Edit(Label l, string s); //声明委托public Form1(){InitializeComponent();}private void button1_Click(object sender, EventArgs e){this.mThread = new Thread(new ThreadStart(this.ThreadMethod));this.mThread.Start();}private void ThreadMethod(){Edit e = new Edit(this.ChangeLableInfo); //实例化委托为ethis.BeginInvoke(e, this.label1, "点击按钮后"); //调用this.BeginInvoke()函数,把e和e需要的参数用都好分隔开,传入BeginInvoke()函数}private void ChangeLableInfo(Label l, string s){l.Text = s;}}}
100字范文,内容丰富有趣,生活中的好帮手!