2014-02-05 41 views
0

我有一個列表視圖,啓用了複選框。 當用戶檢查項目時,我需要在兩秒鐘後移除此項目,而不鎖定屏幕。延遲2秒來刪除一個項目

我該怎麼做?我需要使用線程嗎?

+1

添加計時器和OnTick事件刪除選中的項目,不需要線程 –

回答

1

使用Timer在給定時間後執行某些操作。因爲這是異步執行操作,而不是同步執行,UI線程不會被阻塞。

另一種選擇是利用await

private async void checkbox_CheckedChanged(object sender, EventArgs e) 
{ 
    if (checkbox.Checked) 
    { 
     await Task.Delay(2000); 
     RemoveItem(); 
    } 
} 
0

System.Windows.Forms命名空間使用Timer control

這將在時間已過時觸發主線程中的事件,因此您不會有任何問題嘗試從其他線程訪問表單。