【问题】
C#程序,希望将窗体程序在系统托盘上显示。
【解决过程】
1.参考:C#系统托盘,但是没找到notifyIconMinimize,所以还是没解决问题。
2. 参考:C#实现窗口最小化到系统托盘:
(1)先在窗体属性中,关闭了ShowInTaskbar:
(2)从工具箱中,拖动一个NotifyIcon到窗体中:
(3)然后把对应控件改为nfiSystem,然后照葫芦画瓢,添加了对应的代码:
private void frmDownloadSonstasteMusic_SizeChanged(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { Hide(); // 隐藏窗体 nfiSystem.Visible = true; // 系统托盘图标可见 } } private void nfiSystem_MouseDoubleClick(object sender, MouseEventArgs e) { this.Visible = true; this.WindowState = FormWindowState.Normal; this.nfiSystem.Visible = false; }
运行后,点击最小化,任务栏上,的确是没有了本程序,但是系统托盘上面,却看不见自己的程序。
(4)后来才知道,原来是自己没有去设置该NotifyIcon控件对应的图标:
点击该控件,在属性中,找到Icon,然后选择一个已有的icon即可:
其中,我的icon,是通过已有的jpg图片,在ICO在线生成的32×32的icon的。
(5)重新编译运行,就可以了。
对应的,点击最小化,任务栏上没有程序,系统托盘上有自己的程序,也有对应的图标,双击该图片,就可以恢复原先窗体了。
其中,我这里由于事先的是nfiSystem的MouseDoubleClick函数,所以是双击,则执行对应的恢复窗体的代码。
转载请注明:在路上 » 【已解决】C#中如何实现将窗体程序在系统托盘上显示