我有一个for loop
,它在按钮点击处理程序中对一组标记(连接组件标记算法)进行编号和着色,如何使循环在执行任何步骤后暂停并在点击按钮后在循环中的相同位置重放再次?下面 是我的代码:如何暂停for循环,然后在同一位置重新启动?
private void Button1_Click(object sender, EventArgs e)
{
int counter = 1;
for (int i = 1; i < 161; i++)
{
try
{
if (i == 1 && labelss[i].Text == "")
{
labelss[i].Text = "1";
}
if (labelss[i].Text == "0")
{
//do nothing
}
else //if the label is not 0
{
if (labelss[i - 1].Text !="0")
{
labelss[i].Text = labelss[i-1].Text;
}
else //if (labelss[i-1].Text=="0")
{
if (i > 20)
{
if (labelss[i - 20].Text != "0")
{
labelss[i].Text = labelss[i - 20].Text;
}
else
{
counter++;
labelss[i].Text = counter.ToString();
}
}
else if(i < 20)
{
counter++;
labelss[i].Text = counter.ToString();
}
}
}
}
catch
{
}
}
}
提示:全球布尔变量,变量保存位置,而循环/条件检查布尔变量.... – TheLethalCoder
在一个侧面没有'如果这...做nothing'这是否真的需要仍然在代码中?正好反过来if语句,即'if(labelss [i] .Text!=“0”)' – TheLethalCoder
你还想什么时候该循环暂停,在什么条件下...... – TheLethalCoder