110,538
社区成员
发帖
与我相关
我的任务
分享
private void button1_Click(object sender, EventArgs e)
{
ThreadStart ths1 = new ThreadStart(ShowThread1);
ThreadStart ths2 = new ThreadStart(ShowThread2);
Thread th1 = new Thread(ths1);
Thread th2 = new Thread(ths2);
th1.Start();
th2.Start();
for (int i = 0; i < 1000; i++)
{
System.Threading.Thread.Sleep(300);
if (textBox1.InvokeRequired)
{
this.Invoke(new EventHandler(delegate
{
textBox1.Text = i.ToString();
}));
}
else
{
textBox1.Text = i.ToString();
textBox1.Refresh();
}
Application.DoEvents();
}
}
private void ShowThread1()
{
int i = 0;
for (i = 0; i < 1000; i++)
{
if (textBox2.InvokeRequired)
{
this.Invoke(new EventHandler(delegate
{
textBox2.Text = i.ToString();
textBox2.Refresh();
}));
}
else
{
textBox2.Text = i.ToString();
textBox2.Refresh();
}
System.Threading.Thread.Sleep(100);
}
}
private void ShowThread2()
{
int i = 0;
for (i = 0; i < 1000; i++)
{
if (textBox3.InvokeRequired)
{
this.Invoke(new EventHandler(delegate
{
textBox3.Text = i.ToString();
textBox3.Refresh();
}));
}
else
{
textBox3.Text = i.ToString();
textBox3.Refresh();
}
System.Threading.Thread.Sleep(200);
}
}
private void button1_Click(object sender, EventArgs e)
{
ThreadStart ths0 = new ThreadStart(ShowThread0);
ThreadStart ths1 = new ThreadStart(ShowThread1);
ThreadStart ths2 = new ThreadStart(ShowThread2);
Thread th0 = new Thread(ths0);
Thread th1 = new Thread(ths1);
Thread th2 = new Thread(ths2);
th0.Start();
th1.Start();
th2.Start();
}
private void ShowThread0()
{
int i = 0;
for ( i = 0; i < 1000; i++)
{
System.Threading.Thread.Sleep(300);
if (textBox1.InvokeRequired)
{
this.Invoke(new EventHandler(delegate
{
textBox1.Text = i.ToString();
}));
}
else
{
textBox1.Text = i.ToString();
textBox1.Refresh();
}
}
}
private void ShowThread1()
{
int i = 0;
for (i = 0; i < 1000; i++)
{
if (textBox2.InvokeRequired)
{
this.Invoke(new EventHandler(delegate
{
textBox2.Text = i.ToString();
textBox2.Refresh();
}));
}
else
{
textBox2.Text = i.ToString();
textBox2.Refresh();
}
System.Threading.Thread.Sleep(100);
}
}
private void ShowThread2()
{
int i = 0;
for (i = 0; i < 1000; i++)
{
if (textBox3.InvokeRequired)
{
this.Invoke(new EventHandler(delegate
{
textBox3.Text = i.ToString();
textBox3.Refresh();
}));
}
else
{
textBox3.Text = i.ToString();
textBox3.Refresh();
}
System.Threading.Thread.Sleep(200);
}
}
private void button1_Click(object sender, EventArgs e)
{
Task.Run(async () =>
{
for (var i = 0; i < 1000; i++)
{
this.BeginInvoke((Action)(() =>
{
this.label1.Text = i.ToString();
}));
await Task.Delay(300);
}
});
Task.Run(async () =>
{
for (var i = 0; i < 1000; i++)
{
this.BeginInvoke((Action)(() =>
{
this.label2.Text = i.ToString();
}));
await Task.Delay(100);
}
});
Task.Run(async () =>
{
for (var i = 0; i < 1000; i++)
{
this.BeginInvoke((Action)(() =>
{
this.label3.Text = i.ToString();
}));
await Task.Delay(200);
}
});
}