BackgroundWorker still needs to call Invoke?
问题 In the last question Display progress bar while doing some work in C#?, people has recommend use of BackgroundWorker . I thought in BackgroundWorker DoWork method you can update the GUI directly, but why this function call need to be called using Invoke . toolTip.SetToolTip(button, toolTipText); 回答1: The RunWorkerCompleted callback is marshalled onto the UI thread; DoWork is not. You should use the ReportProgress method to update the UI during DoWork processing. See: How to: Run an Operation