c# - 消失的系统托盘图标

标签 c# windows visual-studio desktop-application system-tray

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

当应用程序启动时,我创建了我的线程和一个系统托盘图标。图标显示,但是每当我将鼠标悬停在图标上时,它就会消失(应用程序仍在运行),即使我单击按钮以显示所有隐藏的图标,它也不会显示。

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

有什么想法或经验吗?

提前致谢


谢谢大家的回答。

呃,我之前做了一些修复,尽管对于那些可能好奇的人。

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

最佳答案

将此代码粘贴到您的表单类中:

    protected override void OnFormClosing(FormClosingEventArgs e) {
        notifyIcon1.Visible = false;
        base.OnFormClosing(e);
    }

这确保图标会消失而不会在托盘中逗留。现在在该代码上设置一个断点并找出您的表单关闭的原因。如果您不明白原因,请将堆栈跟踪复制并粘贴到您的问题中。

关于c# - 消失的系统托盘图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788638/

相关文章:

c# - API问题中的异常处理

python - 如何在 python 中模拟用户并使用 os.system

c# - 调试Unity游戏时不能 "set next statement"

windows - 为什么默认的 Windows WebDAV 客户端会忽略 403 Forbidden 响应?

java - 如何通过java程序获取exe运行的进程id

visual-studio - Resharper vs2013 CTRL +单击不起作用

c++ - 将 native WebRTC 应用程序与 Visual Studio 链接

c# - 如何在 C# 中使用 DateTime 值显示没有时间的日期?

c# - 在 C# 中使用 SqlDataReader 填充 List<T>

c# - 销毁游戏对象后缺少引用的问题