【问题标题】:Form is running on processes even after close the program即使关闭程序,表单仍在进程上运行
【发布时间】:2013-12-31 04:07:33
【问题描述】:

我使用 2 个表单创建了一个 C# 程序。我用 close(); 方法为它们添加了一个退出按钮。但是当我运行可执行文件时,即使我用退出按钮关闭程序,程序仍然在任务管理器的进程上运行。我相信它与一种形式的关闭有关,但另一种形式已加载到内存中并且没有停止。这样的情况。我们如何终止整个程序而不将其存储在内存中? close(); 方法不够用?

【问题讨论】:

  • [STAThread] 的代码是什么样的?
  • 我怎么找到[STAThread]?
  • 项目中一般有一个名为Program.cs的文件。那是实际运行应用程序的文件。会有一个方法标记为[STAThread]
  • Running different Forms at Once 的可能重复项
  • 感谢您的回复我的朋友。我认为@Reed 给了我一个可能的解决方案。因为我是初学者,所以我期待着研究他的方法。如果出现任何问题,我会告诉大家:)

标签: c# process terminate


【解决方案1】:

发生这种情况的方式有很多种。一些更常见的包括:

  1. 如果您使用Application.Run()(而不是Application.Run(someForm))启动应用程序,它将一直运行,直到您调用Application.Exit 或使用其他方法将其关闭。关闭表单不会关闭应用程序
  2. 如果您通过new Thread 启动一个线程,并且不将其设置为后台线程,这也会使程序保持活动状态。进程将保持活动状态,直到所有前台线程都完成。您可以通过使线程成为后台线程(或使用Task 类而不是Thread)来解决此问题。

【讨论】:

  • 谢谢你的回答,我会调查的。
猜你喜欢
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
  • 2014-07-01
  • 2015-01-15
  • 2020-01-03
  • 2021-04-20
  • 1970-01-01
  • 2020-12-26
相关资源
最近更新 更多