所以我有3個標籤,必須使用一個隨機數同時更新它們全部三個,直到用戶單擊停止它的按鈕。C#中的多線程 - 更新標籤
這是我對我的啓動按鈕
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);
}
}
當我調試,我得到以下錯誤:
Cross-thread operation not valid: Control 'number2' accessed from a thread other than the thread it was created on.
我不明白我是如何爲每個線程創建控件,所以任何幫助非常感謝。
還有一件事,用戶能夠在標籤更新時點擊停止按鈕嗎?還是需要添加另一個等待用戶輸入的線程?
非常感謝!
現在工作很好,感謝您的快速答覆! – rememberthecant