2015-06-12 40 views
0

我有2個按鈕單擊事件。如何在新事件發生時停止舊事件

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

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

函數Foo()花費1分鐘以上完成。

當我點擊button1,然後點擊button2。如何在Button1_click中停止Foo()並僅在Button2_click上運行Foo()?

+0

那麼,對於初學者,你不應該在UI線程中運行一分鐘的長操作;如果你這樣做,你將不能*點擊另一個按鈕。你需要做異步工作。 – Servy

+0

但我需要能夠在運行時更新我的​​列表視圖項目。我怎樣才能做到這一點? – tinhve

+1

這取決於非UI操作是什麼,以及如何讓它異步。有很多從非UI線程調度UI工作的方法,而不同的方法在不同的上下文中是最好的。 – Servy

回答