如何在发生新事件时停止旧事件

时间:2015-06-12 16:53:01

标签: c# events

我有2个按钮点击事件。

void Button1_click(...)
{
    //Do somethings
    Foo();
}

void Button2_Click(...)
{
    //Do somethings
    Foo();
}

函数Foo()完成时间超过1分钟。

当我点击button1时,我点击button2。如何在Button1_click中停止Foo()并在Button2_click上仅运行Foo()?

1 个答案:

答案 0 :(得分:2)

您应该在单独的线程上运行Foo,并在ui线程完成后调用更新,并使用取消令牌随时停止给定的操作。类似的帖子在这里How to update the GUI from another thread in C#?