所以我有 3 个标签,并且必须使用随机数同时更新所有三个标签,直到用户单击停止它的按钮。
这就是我的开始按钮
private void start_Click(object sender, EventArgs e)
{
t1 = new Thread(new ThreadStart(FirstNumber));
t2 = new Thread(new ThreadStart(SecondNumber));
t3 = new Thread(new ThreadStart(ThirdNumber));
t1.Start();
t2.Start();
t3.Start();
}
这就是生成随机数的方法的样子
public void FirstNumber()
{
int j = r.Next(0, 50);
int k = r.Next(50, 100);
for (int i = j; i <= k; i++)
{
number1.Text = i.ToString();
Thread.Sleep(200);
}
}
当我调试时,我收到以下错误:
跨线程操作无效:控件“number2”从创建它的线程以外的线程访问。
我不明白我是如何为每个线程创建控件的,因此不胜感激。
还有一件事,用户能否在标签更新时单击停止按钮?还是我需要添加另一个等待用户输入的线程?
非常感谢!