Say I have a Windows form and then click a button to start a new thread. If in that new thread I change something about the current form, like its background color, Visual Studio will raise an invalid operation exception as I have crossed threads doing UI work.
However, if in that other thread I create a new form and show it, I get no such exception.
Why is that?