当我关闭我的应用程序时,我的程序仍在任务管理器中

时间:2011-01-04 00:56:48

标签: c# .net

当我关闭我的应用程序时,我的程序仍然在任务管理器中。我的问题是我必须做些什么来释放所有资源并完全关闭我的程序?

我有一个BackgroundWorked和两个计时器,可能有问题。

4 个答案:

答案 0 :(得分:5)

你有多个帖子吗?如果是这样,他们是否设置了IsBackground属性?如果没有,您的应用程序将继续运行,直到所有应用程序都退出。

(另外,你是以Application.Exit()还是以其他方式退出?)

答案 1 :(得分:1)

如果要强制应用程序死亡,可以捕获主窗体的close事件并使用Application.Exit()或其他一些机制。但更重要的是弄清楚为什么它通常不会终止。您是否覆盖了任何表单结束事件(OnClosing,OnClosed)而没有调用基本方法?您是否加入了所有主题并终止了后台工作人员?

答案 2 :(得分:0)

也许这会有所帮助。

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (client.Connected)
        {
            MessageBox.Show("Server is connected, you have to disconect first!", "Conected on server!",
            MessageBoxButtons.OK, MessageBoxIcon.Warning);
            e.Cancel = true;
        }     
    }

答案 3 :(得分:0)

此代码已停止所有进程并关闭程序:

private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
        Process.GetCurrentProcess().Kill();
}