したがって、3つのラベルがあり、ユーザーがそれを停止するボタンをクリックするまで、乱数を使用して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'は、それが作成されたスレッド以外のスレッドからアクセスされました。
スレッドごとにコントロールを作成する方法がわからないので、助けていただければ幸いです。
もう1つ、ラベルの更新中にユーザーは停止ボタンをクリックできますか?または、ユーザー入力を待機する別のスレッドを追加する必要がありますか?
どうもありがとう!