VB.NET BeginInvoke 筆記(進階篇)
BeginInvoke 常用在 Windows Forms 的跨執行緒 UI 更新。背景執行緒不能直接修改 Label、ProgressBar、ListBox 等控制項,因此需要把畫面更新動作交回控制項所屬的 UI 執行緒。
BeginInvoke 的核心是「非同步排入」。它會把指定的 UI 更新工作排進 UI 執行緒佇列,呼叫端不等待該工作完成,就會繼續往下執行。這讓它很適合做進度回報、狀態通知與清單紀錄,但不適合把真正耗時的工作放進 UI 更新區塊。