【发布时间】:2015-02-20 21:17:09
【问题描述】:
我有一个循环,我想停止使用按钮。 编辑以便更好地理解:
我确实意识到,您不能在循环运行时停止按钮,因为只要当前 UI 正在运行,它就不会工作。我真正要求的是创建线程或使用 BGWorker 来阻止它的最有效方法。我见过一些方法,但大多数是用于 Java 而不是 C#。
我想做的是:
private void start_Click(object sender, EventArgs e)
{
for(int i = 0; i < nums; i++)
{
doSomething();
}
}
private void stop_Click(object sender, EventArgs e)
{
stops start_Click()
}
【问题讨论】:
-
除非您将循环放在另一个线程中,否则您将无法执行您所要求的操作。您的循环阻止了与您的按钮的交互。
-
我知道人们不会喜欢这个,但可以通过在循环中输入
Application.DoEvents()并检查布尔变量来尝试:) -
您使用的是 WinForms 还是 WPF 或其他什么?