<分区>
我只是想让两个进度条在单击按钮时同时增加;我用两个线程 t1 和 t2 创建了两个进度条和一个按钮 start
,每个线程都包含不同的方法来增加两个进度条的值(t1 分别代表 progressbar1 和 t2 代表 progressbar2)。
我拥有的控件: 进度条:progressbar1、progressbar2 和按钮 button1。
代码如下:
Thread t1, t2;
private void Progressor1()
{
progressBar1.Minimum = 0;
progressBar1.Maximum = 100;
for (int i = 0; i <= 100; i++)
progressBar1.Value = i;
}
private void Progressor2()
{
progressBar2.Minimum = 0;
progressBar2.Maximum = 100;
for (int j = 0; j <= 100; j++)
progressBar2.Value = j;
}
private void button1_Click(object sender, EventArgs e) // Start Button
{
t1.Start();
t2.Start();
}
private void MultiThreadedcs_Load(object sender, EventArgs e)// Form Load
{
t1 = new Thread(Progressor1);
t2 = new Thread(Progressor2);
}
在运行时它向我显示以下错误:
Error Name = InvalidOperationException Error Message = Cross-thread operation not valid: Control 'progressBar2' accessed from a thread other than the thread it was created on.
请帮我解决这个问题。我对线程概念不太了解,我已经完成了这个解决方案,但我的问题没有任何进展: