在主线程上打开一个新表单

如何从C#中的主线程打开一个新表单?

这时我用这个打开它们:

System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(oppenMainForm)); t.SetApartmentState(ApartmentState.STA); t.Start(); 

但这会创建一个新线程…我的主要表单是我的登录表单..我想要关闭然后打开我的第二个表单。

转到program.cs文件并进行更改,以便显示登录表单,然后在关闭后确定是否应该打开另一个表单:

它可能看起来或多或少像这样:

 LoginForm loginform = new LoginForm(); Application.Run(loginform); if (loginform.DialogResult == DialogResult.Yes) Application.Run(new MainForm()); //TODO handle error cases 

只需使用它

 Application.Run(new OppenMainForm());