关闭窗体可以在窗体上工作,但不能在另一个窗体上工作

时间:2014-07-24 11:50:59

标签: c# winforms forms visual-studio-2012

我创建了一个Windows窗体应用程序。

VS2012为我创建了一个form1表格

然后我创建了第二个名为Main

的表单

form1表单上有一个按钮可转到Main表单

当我使用vs2012运行应用程序时,然后单击表单 form1 右上角的x按钮,表单关闭,我可以开始处理vs.但是问题是,当我点击表单右上方的x按钮主要时,我无法开始使用VS,但我需要点击vs中的Stop Debugging红色按钮为了能够输入vs。

所以我的问题是,当我向客户提供此应用程序时,当点击表单右上角的x按钮时,我需要完全关闭应用程序,我不需要他们去任务管理器并从中关闭应用程序。

5 个答案:

答案 0 :(得分:1)

您的应用程序以Form 1开头,当您关闭它时,您正在关闭该应用程序。 Main只是一个表单,当您关闭它时,您正在关闭表单。您需要做什么,转到FormClosing表单Main的事件并添加

  

Application.Exit();

答案 1 :(得分:0)

进入 FormClosing 事件并输入以下代码:

System.Envirenement.Exit(0);

答案 2 :(得分:0)

当您转到form1时,您对Main做了什么?如果你只是隐藏它以显示另一个,然后关闭另一个,只是保持form1隐藏,那么form1自然会仍在运行,即使Main已关闭。

合乎逻辑的做法是在关闭后者时从form1返回Main - 否则,您可以使用Application.Exit(0)关闭相应的事件。

在任何一种情况下,如果你提供了一些实际的代码,就会更容易回答这个问题。

更新:

您也可以使用System.Environment.Exit(0),但这可能需要更多权限,这可能会也可能不会影响您的情况。再次 - 一些代码会有所帮助。

关于您的评论,请参阅this answer for more info有关终止选项的信息。

答案 3 :(得分:0)

问题是因为您的Form1表单仍在运行(隐藏) 如果您仅使用Form1打开Main表单。然后删除Form1并将Main设置为您的项目属性中的启动表单:
Application -> StartUp form

此后关闭Main表单时,应用程序将正常关闭

如果您使用Form1,则在关闭Form1表格后也需要关闭Main
为此目的使用FormClosed eventhandler

答案 4 :(得分:0)

右键点击主要表单 - >物业
事件标签上选择 FormClosing 事件
并编写此代码

private void Main_FormClosing(object sender, FormClosingEventArgs e)
        {
           System.Environment.Exit(0);
        }