我覆盖了 FormClosing 事件以在单击时最小化到系统托盘。这是我的代码:
private void OnFormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
this.Hide();
notifyIcon.BalloonTipText = "Server minimized.";
notifyIcon.ShowBalloonTip(3000);
}
else
{
this.Close();
}
}
我还设置了 notifyIcon 的 DoubleClick 事件,代码如下:
private void showWindow(object sender, EventArgs e)
{
Show();
WindowState = FormWindowState.Normal;
}
我对此有两个问题:
1)现在,当点击右上角的“X”按钮时,应用程序被最小化到托盘,但我无法关闭它(有道理......)。我希望右键单击系统托盘中的图标,它会打开一个菜单,比如说,这些选项:恢复、最大化和退出。
2) (这可能与我使用 shift+f5 退出程序有关,因为我现在无法关闭我的应用程序,因为我提到了这些更改)。当应用程序退出时,在我将其最小化到托盘后,图标会留在托盘中,直到我用鼠标越过它。我该如何解决?