允许Form1关闭而不关闭C#中的Application?

时间:2012-05-18 17:29:53

标签: c# visual-c#-express-2010

好的,form1是我的“介绍”。我需要form1关闭和form2 ...当它关闭时,整个应用程序关闭。我是新来的,所以我不知道如何很好地解释我的问题......如果你有任何疑问......请问...... :)

3 个答案:

答案 0 :(得分:4)

在显示主窗体之前我需要使用启动画面时使用的另一种解决方案是使用此解决方案:

在Program类的Main函数中,你通常会有类似的东西:

    [STAThread]
    static void Main(string[] ps)
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());

    }

Application.Run将应用程序绑定到表单,以便在表单关闭时,应用程序退出。 如果要在表单1之前显示表单2,可以执行以下操作:

    [STAThread]
    static void Main(string[] ps)
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Form1 splash = new Form1();
        splash.ShowDialog();
        Application.Run(new Form2());
    }

这个新代码将显示form2。关闭form2后,它将显示form1。关闭Form1将退出应用程序。

通常,Splash窗口是在另一个线程中创建的,让主线程加载所需的数据。

答案 1 :(得分:1)

而不是关闭你可以隐藏From1。

Form1.hide = true

答案 2 :(得分:0)

您应该覆盖表单中的OnClosing方法...

protected override void OnClosing(CancelEventArgs e)
{
     e.Cancel = true;
     this.Hide();
}