我正在使用 C# 在 visual studio 2010 中创建一个系统托盘应用程序。
当应用程序启动时,我创建了我的线程和一个系统托盘图标。图标显示,但是每当我将鼠标悬停在图标上时,它就会消失(应用程序仍在运行),即使我单击按钮以显示所有隐藏的图标,它也不会显示。
但是,如果我不尝试将鼠标悬停在它上面,它就会保留在系统托盘中。
有什么想法或经验吗?
提前致谢
谢谢大家的回答。
呃,我之前做了一些修复,尽管对于那些可能好奇的人。
我最初没有使用 Windows 窗体,这就是问题发生的时候。然而,当我将我的应用程序设置为一个 Windows 窗体,并且只是隐藏该窗体,而不是在任务栏中显示它时,它起作用了。
最佳答案
将此代码粘贴到您的表单类中:
protected override void OnFormClosing(FormClosingEventArgs e) {
notifyIcon1.Visible = false;
base.OnFormClosing(e);
}
这确保图标会消失而不会在托盘中逗留。现在在该代码上设置一个断点并找出您的表单关闭的原因。如果您不明白原因,请将堆栈跟踪复制并粘贴到您的问题中。
关于c# - 消失的系统托盘图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788638/