最小化的时候隐藏,是很常见的功能,但是因为C#没有最小化的事件的处理,所以不能直接使用,在网上找了找,别人都是resize和其他几个事件处理,感觉这样不好,所以自己找了找资料,实现代码如下。
窗体的Deactivate事件,判断窗体状态是否为最小化,其他事件判断会出现问题:
private void MainForm_Deactivate(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.notifyIcon1.Visible = true;
this.Hide();
this.ShowInTaskbar = false;
}
}
notifyIcon单击显示
private void notifyIcon1_Click(object sender, EventArgs e)
{
this.Show();
this.ShowInTaskbar = true;
this.WindowState = FormWindowState.Normal;
this.notifyIcon1.Visible = false;
}