我正在使用C#在visual 2010中创建一个系统托盘应用程序。
当应用程序启动时,我创建我的线程和一个系统托盘图标。THe图标显示,然而,每当我鼠标对图标,它消失(应用程序仍在运行),即使我点击按钮显示所有隐藏的图标,它不会显示。
但是,如果我不尝试鼠标在上面,那么它就会留在系统托盘中。
有什么想法或经验吗?
提前感谢
谢谢你们的回答。
呃,我以前做过的一些事情,虽然对那些好奇的人来说。
我最初没有使用windows表单,这就是问题发生的时候。然而,当我将我的应用程序设置为一个windows窗体,并且只是隐藏表单,而不是在任务栏中显示它时,它就成功了。
发布于 2010-09-24 16:48:38
将此代码粘贴到窗体类中:
protected override void OnFormClosing(FormClosingEventArgs e) {
notifyIcon1.Visible = false;
base.OnFormClosing(e);
}这确保图标将消失,而不停留在托盘中。现在,在该代码上设置一个断点,并找出窗体关闭的原因。如果你不知道为什么,复制并粘贴堆栈跟踪到你的问题中。
发布于 2010-09-24 15:45:29
这意味着托盘图标已被删除。这通常发生在进程终止后,但托盘停留在那里-这是一个窗口错误。
因此,由于某种原因,您的托盘图标可能“崩溃”。
如果不看到您的代码,就不可能再对代码进行任何评论了。
发布于 2010-09-24 15:48:01
如果您正在创建图标对象,并允许它在没有任何引用的情况下离开作用域,那么下一个垃圾回收将调用它的析构函数,这将发生。
https://stackoverflow.com/questions/3788638
复制相似问题