Click here to Skip to main content
15,885,278 members
Articles / Programming Languages / C# 4.0
Alternative
Tip/Trick

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

Rate me:
Please Sign up or sign in to vote.
5.00/5 (6 votes)
23 Mar 2010CPOL 9.2K   4  
this.BeginInvo...
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)


Written By
Software Developer
India India
Life is Mirror !!!!!!!

Comments and Discussions

 
-- There are no messages in this forum --