gpt4 book ai didi

c# - 使用线程持续检查值的更改

转载 作者:行者123 更新时间:2023-11-30 21:07:45 25 4
gpt4 key购买 nike

我正在尝试创建一个线程,该线程将持续检查值的更改,然后在我的 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 的任何更改都是程序将被线程捕获。所以我的第一个问题是:这可能吗?如果是这样,我需要对我的代码进行哪些更改才能实现它?

最佳答案

您可能想要使用事件。您注册一个事件处理程序,当一个线程中发生某些变化时,它会调用另一个线程中的事件处理程序来完成工作。忙等待浪费 cpu。

关于c# - 使用线程持续检查值的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10181395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com