无法显示主表单的原因是因为一旦关闭登录表单,应用程序的消息泵就会关闭,这将导致整个应用程序退出。在的Windows消息循环,因为这是你已经设置为你的项目属性中的启动形式一个是联系在一起的登录表单。查看“
Program.cs”文件,您将看到负责的代码:
Application.Run(newLoginForm())。在MSDN上查看有关该方法的文档,这将对此进行更详细的说明。
最好的解决方案是将代码从登录表单中移出到“
Program.cs”文件中。程序首次启动时,您将创建并以模式对话框形式显示登录表单(该对话框在单独的消息循环上运行,并阻止其余代码的执行,直到关闭为止)。登录对话框关闭时,您将检查其
DialogResult属性以查看登录是否成功。如果是这样,则可以使用来启动主窗体
Application.Run(从而创建主消息循环)。否则,您可以退出应用程序而无需显示任何形式。像这样:
static void Main(){ LoginForm fLogin = new LoginForm(); if (fLogin.ShowDialog() == DialogResult.OK) { Application.Run(new MainForm()); } else { Application.Exit(); }}


