【问题标题】:Application.Quit - application not starting when debuggingApplication.Quit - 调试时应用程序未启动
【发布时间】:2016-09-10 09:56:22
【问题描述】:

当我添加 Application.Quit() 或 Form.Close() 并尝试使用调试运行程序时,调试开始,但应用程序没有。我昨天问了这个问题。 Visual studio debugging starts but application doesn't。这是这个问题的延续。该过程在任务管理器中开始。它没有被我的防病毒软件捕获。

我可以将我的项目保存在它正在运行的状态,添加 Application.Quit(),启动调试,程序不会启动。如果我评论//Application.Quit,那么它在保存时是完全相同的项目,它仍然无法启动。修复它的唯一方法是从项目中排除具有 Application.Quit() 的表单。然后它再次开始工作。如果我重新添加表单,问题就会再次出现。

我查看了如何正确使用它https://msdn.microsoft.com/en-us/library/ms157894(v=vs.110).aspx。我有带有 e.Cancel 的 FormClosing 事件。我还尝试关闭表单Mainform.Close();Environment.Close()。所有结果都相同。我不相信我写错了。没有错误。但我不知道为什么。可能是我的电脑。或者我可能不得不放弃在关闭之前有一个警告框。虽然最终,我想拥有它。

【问题讨论】:

  • 你能显示出问题所在的 reverent 代码吗?

标签: c# windows winforms visual-studio


【解决方案1】:

在 FormClosing 事件中,如果您设置了e.Cancel = true,应用程序将不会被关闭。

你应该对e.Cancel = true使用一些条件。

声明一个标志参数并在Application.Quit()之前设置它并在FormClosing事件中检查标志是否为真,然后不要设置e.Cancel = true

【讨论】:

  • 我尝试只使用消息框,它有效。似乎以 1 种形式工作似乎没问题,而不是尝试使用 2 种形式。我要再试一次,现在我对程序在做什么有了更好的了解。以及为什么它没有启动。
猜你喜欢
  • 2012-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 2022-08-20
  • 1970-01-01
相关资源
最近更新 更多