在c#内 用新线程打开的窗体 为什么窗体内无法用FolderBrowserDialog选择文件

这是登录

                //登录成功,关闭窗体
                 this.Close();
                  new System.Threading.Thread(() =>
                  {
                       Application.Run(new 新窗体());
                   }).Start();

在新窗体内 为什么无法使用下面代码

          string path = string.Empty;
            System.Windows.Forms.FolderBrowserDialog fbd = new System.Windows.Forms.FolderBrowserDialog();
            if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                path = fbd.SelectedPath;
            }

运行上面的代码 程序总是提示无响应 然后退出

用户界面操作的东西,都要放在主线程里,并且主线程还必须是 STAThread
不要在别的线程里创建,而是用 Control.Invoke 让某个控件/窗口在主线程里调用