Click here to Skip to main content
Click here to Skip to main content
Alternative Tip

Changing a WinForms Control on the 'UI' Thread from another Thread

By , 23 Mar 2010
Rate this:
Please Sign up or sign in to vote.
this.BeginInvoke((ThreadStart)delegate()                        {                           
 
//UI change code goes here 
                                  
});
 
[Added by DaveyM69] This method is similar to my suggestion. The ThreadStart delegate is identical to MethodInvoker (void return - no parameters). In this situation I prefer MethodInvoker as that's what we're doing (invoking a method), not starting a thread.
 
The use of BeginInvoke will may* allow the calling thread to continue immediately even if the 'UI thread' cannot be updated whereas Invoke will block until the 'UI thread' is updated. This may or may not be desirable!
 
*See Luc's post in the forum below
 
See:
Control.Invoke[^]
Control.BeginInvoke[^] [/Added]

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Khaniya
Software Developer E-Square Business Solutions
India India
Life is Mirror !!!!!!!

Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web02 | 2.8.140415.2 | Last Updated 23 Mar 2010
Article Copyright 2010 by Khaniya
Everything else Copyright © CodeProject, 1999-2014
Terms of Use
Layout: fixed | fluid