我需要在線程中放置一些ListView填充代碼。對於簡單的情況,這個線程不應該運行兩次。當我想要發佈新線程時,以前需要停止,不管做什麼。如何在c#中填充線程安全ListView?
EDIT 1
的場景是以下內容。
我在ListView上方有一個文本過濾器。在textchange上我調用了一個populateList()方法。
問題是,代碼可能需要更長的時間,因爲它在更大的數據庫上使用SQL LIKE
語法。
在運行之前,用戶不能輸入任何內容。所以當你輸入「abc」時,會出現嚴重的問題,你只能在10秒後輸入「c」。
所以我心裏有問題線程的populateList()方法,並允許用戶快速輸入更多的東西。文本越慢,SQL查詢就越慢。 在「abc」情況下,如果鍵入「a」代碼後退並運行查詢,但與此同時,如果用戶按下「b」,我想停止執行「a」線程並立即發出新線程使用「ab」...等等與「c」。
EDIT 2
還在尋找更多的答案。
看到我的編輯問題 – Pentium10 2010-02-16 12:30:41
我會試試這個,但我不知道我是否能夠檢測到循環中的變化,因爲事件接縫僅在人口過程完成後觸發。我會看看。 – Pentium10 2010-02-17 11:54:57
嗨奔騰,剛試過。有用。讓我知道它是否也適用於您。檢查我編輯的僞代碼 – Amsakanna 2010-02-20 19:50:24