C#:使用非主窗体关闭应用程序

C#:使用非主窗体关闭应用程序,c#,forms,login,C#,Forms,Login,我的应用程序有问题,我想创建一个简单的登录页面,通过主页向您发送(登录成功),因此我将此代码放在program.cs中,以便通过表单导航: static class Program { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Ma

我的应用程序有问题,我想创建一个简单的登录页面,通过主页向您发送(登录成功),因此我将此代码放在program.cs中,以便通过表单导航:

static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Form1 a = new Form1();
            a.Show();
            Application.Run();
        }
    }
静态类程序
{
/// 
///应用程序的主要入口点。
/// 
[状态线程]
静态void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 a=新的Form1();
a、 Show();
Application.Run();
}
}
问题是,如果我在提交前关闭我的应用程序(登录页面),应用程序不会关闭


谢谢

通常您应该这样启动应用程序:

Application.Run(a);
或者,您可以在表单的FormClosed事件中执行以下操作:

Application.Exit();
假设您的登录页面是Form1,将其更改为

Application.Run(a);

我自己使用这个解决方案:

我使用:

public static Form1 a = null;
[STAThread]
static void Main()
{
   Application.EnableVisualStyles();
   Application.SetCompatibleTextRenderingDefault(false);
   a = new Form1();
   Application.Run(a);
}
在身份验证过程完成后,单击“登录”按钮时,我使用:

this.Hide();
Form2 form = new Form2();
form.Show();
当我想注销时,我使用:

this.Close();
Program.a.Show();
当我想关闭应用程序时,我使用:

Program.a.Close();

我想如果我换了身份证,我就无法关闭第二张表格中的。。这就是我更改默认代码的原因。。现在我可以从第二个开始关闭它,而不是从第一个开始。编辑:不,我错了,非常感谢你的帮助!非常感谢您宝贵的回复!不客气。我还添加了公共静态以更正对课堂程序的访问。为什么我的答案是-1??我不知道,伙计!不是我我接受了你的回答。。反正我不能投票,我没有足够的声望。