我写了一个小工具,应该看看我的服务器写一封邮件,如果出现问题,例如使用过高的RAM等等......
现在我的问题,我想最小化我的程序到系统托盘,它工作正常:)我看到托盘中的图标几秒钟。之后,我的程序消失了......关闭......不知道进程是否消失:D。
这里我的代码最小化到托盘:
InitializeComponent();
var icon = new NotifyIcon();
icon.Icon = new Icon("watchdog.ico");
icon.Visible = true;
icon.DoubleClick +=
delegate(object sender, EventArgs args)
{
this.Show();
this.WindowState = WindowState.Normal;
};
protected override void OnStateChanged(EventArgs e)
{
if (WindowState == WindowState.Minimized)
this.Hide();
base.OnStateChanged(e);
}
我希望你能帮助我。
答案 0 :(得分:0)
在Server 2012上,我在使用托盘最小化时也遇到异常,但它在Windows 7 Pro计算机上运行正常。在我能够远程调试之后,问题非常清楚:
抛出异常:'System.ArgumentException' System.Windows.Forms.dll中
其他信息:气球提示文字必须具有非空值。
修复方法是将气球提示文字添加到图标中:
var icon = new NotifyIcon();
icon.BalloonTipText = "Program is minimized. Click the tray icon to restore it.";