WinForm 在线程中启动新的窗口

由于工程需要在线程当中加载一个新的WinForm窗口,但是直接在线程中加载会立即闪退,我认为是线程执行完成之后自动销毁了new的窗口。

new Thread(()=>{new Form2().Show();}).Start();

之后谷歌了一番,有人提到使用异步委托在线程中来加载新的窗口:

new Thread(()=>{BeginInvoke(new MethodInvoker(()=> { new Form2().Show(); }));}).Start();

使用如上方法能够正常运行。