【发布时间】:2009-11-05 14:05:33
【问题描述】:
我有一个包含 2 个表单的 Windows 应用程序。从一个表格我打开第二个表格。 打开第二个表格时,我隐藏了一个表格,而在第二个敌人中,我开始了一个线程。 现在我想关闭应用程序。 但我做不到。
在我尝试过的第一种形式中:
Form1 frm = new Form1(this, tcpClient);
frm.ShowDialog();
this.Close();
Application.Exit();
但申请并未结束。它仍在运行。
知道如何阻止它吗?
编辑(包括代码):
在第一个表单的按钮点击事件中:
this.Hide();
Form1 frm = new Form1(this, tcpClient, serverMsg);
frm.Show();
在第一个表单的按钮 FormClosed 事件中:
MessageBox.Show("Before");
Application.Exit();
在第二个表单的加载事件中,我正在调用一个方法 startThread();关于这个方法
ilThread = new Thread(incomingListener);
ilThread.IsBackground = true;
ilThread.Start();
【问题讨论】:
-
可能值得发布用于启动线程的代码。
-
你是如何关闭第二个表格的?
-
调用 Application.Exit() 时遇到什么错误?那行代码甚至被调用了吗?
-
谢谢大家的努力,其实我已经打开了socket,而且还没有关闭,所以在我关闭那个socket之后Application.Exit();开始工作。