DEV Community

1001binary
1001binary

Posted on

Update UI state from an another Thread in Windows Forms

An exception is thrown when trying to update control state from an another Thread.

Thread newThread = new Thread(new ThreadDelegate(() => {
   txtStatus.Text = "Started";
}));

newThread.Start();
Enter fullscreen mode Exit fullscreen mode

Solution

We use BeginInvoke to update UI state asynchronously.

Thread newThread = new Thread(new ThreadDelegate(() => {
   txtStatus.BeginInvoke(() =>
   {
       txtStatus.Text = "Started";
   });
}));

newThread.Start();
Enter fullscreen mode Exit fullscreen mode

Happy coding!

Discussion (0)