スレッドが2つあります。 私のワーカースレッド(メインスレッドではない)でピクチャボックス配列を作成し、メインフォームに新しいピクチャボックスを追加する必要がある場合もありますが、このフォームにはアクセスできません。私はどこかでinvokeメソッドを使う必要があると読んでいますが、私は1つのピクチャボックスやラベルを更新する方法しか知りません。 私はこのコードのビットでこれを行う方法がわからない:スレッドの問題C#
food[x].Location = new Point(100,100);
food[x].Size = new Size(10,10);
food[x].BorderStyle = BorderStyle.Fixed3D;
food[x].ImageLocation = "food.png";
this.Controls.Add(food[x]);
food[x].BringToFront;
誰も私を助けてもらえますか?
おそらく、複数のスレッドを持つべきではありません。 – SLaks
SLaksが正しいです。これは起こるのを待っている災害のように聞こえる。 2つのスレッドが同じUI要素にアクセスしようとしているときに、UIプログラミングを正しく取得することは非常に困難です。通常、これは* UIスレッドのみがUI要素*と通信することが許可されている方法です。ワーカースレッドがUIと対話する必要がある場合は、ワーカースレッドがUIスレッドと通信するための何らかの方法を設定してから、UIスレッドがメッセージをUIオブジェクトに渡します。 –
あなたはコード例やチュートリアルを習得していますか? – Dennis