首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消失的系统托盘图标

消失的系统托盘图标
EN

Stack Overflow用户
提问于 2010-09-24 15:37:07
回答 4查看 3.1K关注 0票数 3

我正在使用C#在visual 2010中创建一个系统托盘应用程序。

当应用程序启动时,我创建我的线程和一个系统托盘图标。THe图标显示,然而,每当我鼠标对图标,它消失(应用程序仍在运行),即使我点击按钮显示所有隐藏的图标,它不会显示。

但是,如果我不尝试鼠标在上面,那么它就会留在系统托盘中。

有什么想法或经验吗?

提前感谢

谢谢你们的回答。

呃,我以前做过的一些事情,虽然对那些好奇的人来说。

我最初没有使用windows表单,这就是问题发生的时候。然而,当我将我的应用程序设置为一个windows窗体,并且只是隐藏表单,而不是在任务栏中显示它时,它就成功了。

EN

回答 4

Stack Overflow用户

发布于 2010-09-24 16:48:38

将此代码粘贴到窗体类中:

代码语言:javascript
复制
    protected override void OnFormClosing(FormClosingEventArgs e) {
        notifyIcon1.Visible = false;
        base.OnFormClosing(e);
    }

这确保图标将消失,而不停留在托盘中。现在,在该代码上设置一个断点,并找出窗体关闭的原因。如果你不知道为什么,复制并粘贴堆栈跟踪到你的问题中。

票数 3
EN

Stack Overflow用户

发布于 2010-09-24 15:45:29

这意味着托盘图标已被删除。这通常发生在进程终止后,但托盘停留在那里-这是一个窗口错误。

因此,由于某种原因,您的托盘图标可能“崩溃”。

如果不看到您的代码,就不可能再对代码进行任何评论了。

票数 1
EN

Stack Overflow用户

发布于 2010-09-24 15:48:01

如果您正在创建图标对象,并允许它在没有任何引用的情况下离开作用域,那么下一个垃圾回收将调用它的析构函数,这将发生。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3788638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档