C# - 从另一个按钮中断循环

Lom*_*lex 2 c# for-loop break

在我开始for loop使用的程序中button,我想用另一个来打破这个循环button.例如:

private void button1_Click(object sender, EventArgs e)
{
    for( int i = 0; i <  var; i++)
    {
        //doing something
    }
}
Run Code Online (Sandbox Code Playgroud)

并使用第二个按钮中断循环,

private void button2_Click(object sender, EventArgs e)
{
    //breaking loop;
}
Run Code Online (Sandbox Code Playgroud)

需要帮忙 :)

Dmi*_*rov 6

  1. button2_Click()方法中设置一个标志并在button1_Click()循环中检查它.

  2. 为了处理Windows事件并允许button2_Click()句柄在迭代时运行,请在循环中添加Application.DoEvents():

bool breakLoop = false;

private void button1_Click(object sender, EventArgs e)
{
    breakLoop = false;
    for( int i = 0; i < var && !breakLoop; i++)
    {
         //doing something
         Application.DoEvents();
    }
}

private void button2_Click(object sender, EventArgs e)
{
    breakLoop = true;
}
Run Code Online (Sandbox Code Playgroud)