Because this is turning out to be quite a large project and I often need to access objects in other forms from a class I firstly create a static variable in my program.cs class of type 'MainForm'which is a Windows Form.
From my DataManger.cs Class, I instantiate the object 'Program.MainFormObj = new MainForm()' and then call the Show method in order to display my Form. It looked like the the Paint event for the form doesn't get to finish but it does kick off as some controls are drawn. Presumably because the main thread (this is all running on one the main thread) is 'occupied' by the next statement. I figured, regardless of known problems I'd use Application.DoEvents() to temporarily counter this issue. As I imagined, it worked, but only to a certain extent. If I put a blocking method like MessageBox.Show(), I can view my completely flawless form in the background but as soon as I press 'OK' and the code proceeds the entire application exits.
I'm really stuck. Despite some extensive searching both here and using Google I can't find an apporpiate answer. I did this this thread: Form.Show() is not showing it's child controls but the given solution isn't appropriate for my solution. Any help is appreciated very much, thanks.