回 帖 发 新 帖 刷新版面

主题:winForm托盘程序的问题

做了一个WinForm程序,本来直接按右上角的×是可以直接关掉的,但是后来加了notifyIcon跟contextMenuStrip做了个托盘,再按托盘菜单里的“退出程序”就不大正常了,托盘下面的图标是可以去掉,但是任务管理器里的进程还在?怎样才能彻底关掉呢?下面是“退出程序”菜单的事件代码:
      private void toolStripMenuItem2_Click(object sender, EventArgs e)
        {
            notifyIcon1.Dispose();//释放托盘资源

            Application.Exit();//释放所有资源
            this.Close();
        }
还需要什么代码吗?谢谢

回复列表 (共3个回复)

沙发

如果你的窗体是主窗体,直接调用this.Close()方法即可彻底关闭应用程序,不是主窗体,调用Application.Close方法也能实现退出。要释放系统的资源应该关闭后再释放吧。

this.Close();

notifyIcon1.Dispose();//释放托盘资源
Application.Exit();//释放所有资源

板凳

不对!VS2003要自己释放,VS2005和VS2008会自动释放,人不用去管它.

3 楼

C#都有内存自动回收功能,只是自己释放内存能提高内存的使用率,另外这也是一种良好的编程习惯。

我来回复

您尚未登录,请登录后再回复。点此登录或注册