111,126
社区成员
发帖
与我相关
我的任务
分享
private delegate void Client();//定义代理
private void Func1()
{
if (this.textBox.InvokeRequired)//等待异步
{
Client cl = new Client(Func1);
this.Invoke(cl);//通过代理调用刷新方法
}
else
{
for (int i = 0; i < 1000; i++)
{
TextBox.Text=i.ToString();
Thread.Sleep(500);
}
}
}
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(Func1));
t.Start();
}
private delegate void Change(int i);
private void test(int i)
{
if (this.InvokeRequired)
{
this.BeginInvoke(new Change(test), i);
}
else
{
textBox1.Text = i.ToString();
}
}
private void Func1()
{
for (int i = 0; i < 1000; i++)
{
test(i);
Thread.Sleep(500);
}
}
public Form1() {
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
}