對不起,如果標題有點不倫不類,我真的不能說得對。下載時更新對話窗體
基本上,我有如下的場景:
我有一個用戶界面(WinForm的),允許用戶選擇多個文件下載,然後點擊「下載」按鈕開始下載。所有的下載都是異步處理的,以避免鎖定表單。但是,雖然我不希望表單鎖定「Not Responding」消息,但我也不希望用戶能夠在下載運行時修改表單字段。
理想情況下,我想生成一個模式對話框,讓用戶知道下載的狀態(即類似於firefox,除了模態對話框)。這樣一舉兩得,因爲它讓用戶能夠很好地瞭解下載進度,同時還可以在對話框處於活動狀態時阻止用戶與父窗體進行交互。
但是,爲了讓用戶瞭解下載進度,我需要在運行時更新對話框。這是我撞牆的地方。我目前的想法是公開一些我的對話類的公共方法,當文件完成時發送它的更新,並從後臺下載線程(與適當的代表更新控件等)調用它們。
我很確定這會按我的意願工作,但我只是想知道是否有更好的解決方案來解決這個問題。不要只侷限於對話方式,我願意接受所有可能提供更好選擇的方法。
乾杯, Ĵ
這是要求在下載過程中禁用UI,所以沒有太多的靈活空間。當下載完成異步時,我已經有了一個通知事件,我的問題更多地是處理這種情況的最佳方法。 –
剛剛讀過IObserver/IObservable接口,他們看起來像他們可能適合我的想法。謝謝! –
@JasonLarke花時間,並檢查我鏈接的視頻。這是值得的。 – Theraot