繁体   English   中英

C#有没有办法停止foreach循环,直到事件再次发生?

[英]c# is there a way to stop a foreach loop until the event occurs again?

我目前正在尝试编程一个foreach循环,并将其编码到我的按钮单击事件中。 我的问题是循环只是直接到达数组的末尾,我想要做的是停在数组的每个字符串上,直到再次单击按钮,然后它将移至下一个字符串。 我应该休息吗? 还是继续;?

foreach (string s in weapons)
{
    pictureBox9.Image = Image.FromFile(s + ".png");
    counter++;
    continue;
}

停止使用foreach循环,因为当您停止/暂停循环时,它将冻结UI。

使用类似这样的东西。

counter++;
if(counter >= weapons.Count)
{
    counter = 0;
}
string weapon = weapons[counter];
pictureBox9.Image = Image.FromFile(weapon + ".png");

您已经有一个柜台。 如果按下按钮并且将其设置为高电平,则将其递增。 然后,您可以从列表中选择图像,至少您要更新图像。

一个很好的改进是在开始时加载所有图像,并将它们放在列表中以替换weapons列表。 您也可以通过counter访问列表中的项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM