値の変更を継続的にチェックし、GUI にある PictureBox でその変更を視覚的に表示するスレッドを作成しようとしています。
私が実際に書いたことはもう少し複雑なので、基本的な考え方を維持しながら単純化しました。これで十分でない場合は、喜んで説明します。
public class CheckPictures
{
PictureBox update;
List<String> check;
public CheckPictures(PictureBox anUpdate, List<String> aCheck)
{
update = anUpdate;
check = aCheck;
}
public void start()
{
while(true)
{
if (aCheck[0] == "Me")
{
update.Image = Image.fromFile("");
}
}
}
}
static int Main(string[] args)
{
List<String> picturesList = new List<String>();
CheckPictures thread1 = new CheckPictures(PictureBox1, picturesList);
Thread oThread1 = new Thread(thread1.start));
}
私がやりたいことは、文字列「Me」をpictureListに追加する場合、PictureBox1の画像を動的に変更することです。上記のコードは、私が望んでいたようには機能しません。実際の PictureBox と List を渡すことで、別の場所で List を変更すると、プログラムはスレッドによってキャッチされると考えていました。だから私の最初の質問は:これは可能ですか?もしそうなら、それを達成するためにコードにどのような変更を加える必要がありますか?