我已經編寫了一個應用程序,用於掃描網絡,然後用所有信息填充Listbox,發現過程需要一點時間才能按預期完成,因爲我們目前擁有的網絡設備數量;我想展示這樣的進度條,讓用戶知道網絡正在掃描,但我不知道如何做到這一點,你們可以請我指出正確的方向嗎?我正在考慮動態創建一個小表單,然後用進度條填充它,但我現在很迷茫。謝謝。主窗體前的進度條
Q
主窗體前的進度條
1
A
回答
1
您的問題意味着網絡掃描是在程序啓動時發生的第一件事,而不是用戶單擊表單上的按鈕(如在FormCreate
事件中)。如果這是你正在做的事情,你可以考慮把網絡掃描代碼放到一個線程中,並在主窗體啓動時啓動線程。這樣,用戶將實際看到表單,並且可以從線程發送表單ProgressBar或狀態更新。
一個更簡單的方法是將Timer
放在窗體上,並在FormCreate
或FormActivate
啓動計時器。計時器的OnTimer
事件將開始網絡掃描,並從那裏您可以更新ProgressBar或發送狀態消息到列表框或任何。
1
您可以將進度欄放在與ListBox相同的窗體上。
顯示進度是一種藝術形式。如果您知道要提前掃描多少個網絡設備,請將該號碼設置爲Max。然後,在更新列表框檢查時,如果您位於下一個網絡設備上,您還可以更新進度條的位置。
您還可以使用兩個進度條 - 一個用於網絡設備的數量,另一個用於當前網絡設備。您還可以更新Max,因爲您發現要掃描的內容更多。
問題出在您啓動時可能不知道有多少個網絡設備,或者最後一個設備可能需要更長時間才能掃描,然後將所有先前的設備放在一起。在這種情況下,您可以使用閃光進度條,該進度條可以前後反彈。您可以在更新ListBox時進行更新,或在計時器上進行更新。這真的只是讓用戶知道你很忙,並沒有鎖定。
如果您想讓用戶在進行過程中不點擊控件,那麼您可以禁用這些控件。
相關問題
- 1. 從外部類更新主窗體的進度條?
- 2. Windows窗體中的Powershell進度條
- 3. Windows窗體中的圓形進度條
- 4. 更新Windows窗體中的進度條
- 5. Windows窗體:進度條無響應
- 6. 在窗體加載進度條
- 7. 主題中的進度條
- 8. 進度條在懸浮窗
- 9. 窗口移動進度條
- 10. 如何添加一個進度條來顯示窗體按鈕點擊,顯示窗體2的加載進度
- 11. 通過進度條(Windows窗體)上的savefiledialog顯示保存進度?
- 12. 進度條應限制主窗口上的按鈕被點擊
- 13. 流體進度條動畫
- 14. C#windows窗體與後臺工作的進度條
- 15. 如何在主窗口之外使用ShowProgressAsync進度條?
- 16. 從子窗體向主窗體添加多條記錄Access 2010
- 17. Windows窗體 - 在主窗體
- 18. JFrame lock在主窗體前登錄窗體
- 19. 如何關閉當前窗體並返回主窗體
- 20. 單獨窗口中的進度條
- 21. android-在加載主佈局之前加載進度條佈局
- 22. 如何在Windows窗體C#中實現進度條?
- 23. f2.show()方法不會在窗體2中顯示進度條
- 24. 如何使用進度條在Windows窗體
- 25. 進度條不顯示從一個到其他窗體加載
- 26. 「內存泄漏」當使用Windows窗體進度條
- 27. Windows窗體:進度條在一個DataGridView列
- 28. 在保持FormMain爲主窗體的同時在主窗體之前創建輔助窗體?
- 29. 具體價值的進度條
- 30. Windows窗體中的主窗體