WinForms - How do I access/call methods in UI thread from a separate thread without passing a delega

Posted by Greg on Stack Overflow See other posts from Stack Overflow or by Greg
Published on 2010-03-26T21:02:43Z Indexed on 2010/03/26 21:03 UTC
Read the original article Hit count: 397

Hi,

QUESTION: In .NET 3.5 WinForms apps, how do I access/call methods in UI thread from a separate thread, without passing a delegate?

EXAMPLE: Say I have some code I want to run both (a) manually when the user clicks a button, and (b) periodically called by a process which is running in a separate non-mainUI thread but without passing a delegate. [Simplistically I'm thinking that the class that has this method is already been constructed, and the main UI thread has a handle to it, therefore if the process running in the separate thread could just get a handle to it from the main-UI thread it could call it. Hopefully this is not a flawed concept]

BACKGROUND: I'm actually after a way to do the above for the case where my separate process thread is actually a job I schedule using quartz.net. The way the scheduler works I can't seem to actually pass in a delegate. There is a way to pass JobDetails, however it only seems to caters for things like string, int, etc. Hence what I'm after is a way to access the MainForm class for example, to call a method on it, from within the quartz.net job which runs in a separate thread.

Thanks

© Stack Overflow or respective owner

Related posts about .NET

Related posts about winforms