星期四, 7月 14, 2005

[.Net]UI/worker thread

為了要解決進度顯示的問題,上 MSDN 找了一下,果然得到圓滿答覆.
請直接參考這幾篇吧...


簡單說明一下,主要是應用 .Net framework 本身就提供的架構,呼叫 Control 的 BeginInvoke() 去調用自己的 delegate 來幫你畫 UI, 以避免因為訊息繁忙而來不及更新畫面的問題.
如果要讓它可以被 cancel, 那麼,可以再配合 Event 來達到這個目的.

Cancel 的部份,我後來沒有用 Event 來做,這是我比較偷懶的地方.

對這方面如果還需要更詳細的了解,可以參考侯捷的Win32多緒程式設計.
不過這本書好像絕版了?!

沒有留言: