c# - C# 中线程仍在运行

标签 c# .net winforms forms

我有 2 种表单:signincontrol_panel。登录完成后,我通过 this.Hide() 函数隐藏此表单,同时我创建 control_panel 表单的新对象并通过 newobj 显示它。显示();。但是当我直接关闭 control_panel 表单时,我看到第一个表单线程仍在运行。我通过 stop_debugging 按钮关闭它。我将如何同时关闭每个线程或整个程序退出。

最佳答案

您的第一个表单的线程仍在运行,因为您只调用 this.Hide .所做的只是隐藏表单;它不会关闭它。相反,您需要使用 this.Close ,这将关闭您的原始表单。

如果您想确保整个应用程序退出,并在此过程中关闭任何可能仍打开的表单,您可以使用 Application.Exit表单代码中任意位置的方法。


编辑:要扩展我的上一条评论,您可能需要在 Program.cs 文件中添加类似的内容:

static class Program
{
   /// <summary>
   /// The main entry point for the application.
   /// </summary>
   [STAThread]
   static void Main()
   {
      Application.EnableVisualStyles();
      Application.SetCompatibleTextRenderingDefault(false);

      SignInForm frmSignIn = new SignInForm();
      if (frmSignIn.ShowDialog() == DialogResult.Yes)
      {
         //If the sign-in completed successfully, show the main form
         //(otherwise, the application will quit because the sign-in failed)
         Application.Run(new ControlPanelForm());
      }        
   }
}

关于c# - C# 中线程仍在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4275992/

相关文章:

wpf - 从 Windows 窗体迁移到 WPF...值得吗?

c# - 如何在flowlayoutpanel中动态添加文本框和标签并将它们存储在数据库中?

javascript - 热衷于直接使用 ViewState 或其他方法来更新回发数据来清除隐藏字段?

c# - 有和没有 Canvas 的模糊线条。无法实现任何像素捕捉方式?

c# - 打印多张图像

.net - HTTP Web 服务和 HTTP 响应代码

c# - 如何在运行时使用错误提供程序以及关联任何控件以进行验证

c# - 注入(inject)的依赖项应该公开访问还是私有(private)?

c# - 从流中加载多个串联的 JSON 对象

c# - 找不到配置绑定(bind)扩展 'system.serviceModel/bindings/basicHttpsBinding'