这个问题与其他问题不同,因为我已经尝试过他们的解决方案:
visible=true
; 代码,取自SO和其他地方的许多不同答案(他们都说同样的话):
private void mainform_Resize(object sender, EventArgs e)
{
if (FormWindowState.Minimized == this.WindowState)
{
notifyIcon.Visible = true;
notifyIcon.ShowBalloonTip(500, "test title", "test message", ToolTipIcon.Info);
this.Hide();
}
else if (FormWindowState.Normal == this.WindowState)
{
notifyIcon.Visible = false;
}
}
预期结果:图标显示在系统托盘中。实际结果:没有任何反应,只有窗口按this.Hide();
消失。
答案 0 :(得分:0)
没有人提到的是图标是强制性的。经过近一个小时的搜索,我决定尝试给它一个随机图标,使用Everything在我的系统上搜索一个随机的.ico文件。瞧,这会让图标显示出来:
notifyIcon.Icon = new Icon(@"C:\path\to\random\icon.ico");
显然没有图标,默认是静默失败。没有默认图标,空格子也不显示,它只会完全忽略你。
奖励:如果您想使用表单的图标,可以使用:
notifyIcon.Icon = this.Icon;