我有一個帶有listview的表單,用戶也可以添加任務。然後用戶可以點擊一個按鈕,然後應用程序通過列表視圖1中的每個任務執行1。如何在這種情況下實現多線程?可能嗎?
這些任務更像是實際完成tasks.I由具有類中有一個循環,對每一個項目開始,然後完成我的每個項目(指令)設置任務執行此操作。爲了開始解析,我在調用該函數的表單上有一個按鈕。 IE:RunTask(listview1,1) - 基本上所有這些都會啓動我在課堂上的循環,並帶有指定的列表視圖和開始的項目。
一切都運行完美,除了在屏幕鎖定,所以無法實現停止功能,通過解析這些列表視圖項目停止應用程序。我只是不明白如何在沒有crossthreading的情況下實現這一點,因爲我想單獨運行的線程將始終訪問此列表視圖。重新設計程序以擺脫列表視圖是不可行的。我嘗試了application.doevents,儘管它也導致了人的錯誤。我一直在研究如何解決這個問題,但我不知道。希望有人能聽到一些光。
我也已經加入了後臺工作,以解決這一問題,但我必須明明設置checkforillegalcrossthreadcalls =假,我知道這是不聰明。
從視圖分開的數據。沒有理由說你需要一個ListView來存儲數據,它並沒有被設計成一個集合對象。 –
唯一的一點是,我也將信息存儲在listview項目標籤中。此外,我已經設置好了,所以我可以暫停它,通過這樣做,當點擊暫停按鈕時,它選擇當前項目。然後當再次擊中播放按鈕時,它檢查是否選擇了項目,並且如果它是從該項目開始。它還有一些直接使用listview的其他功能,我認爲使用標準列表是不可能的。感謝您的輸入。 – user1632018