有时候,我们需要某个窗体,在后台默默运行,而无需在桌面展现出来,我们可以这样做:
第一步、创建一个NotifyIcon控件实例notifyIcon1,并创建该实例的MouseDoubleClick事件。事件代码:
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (this.Visible)
{
this.WindowState = FormWindowState.Minimized;
this.notifyIcon1.Visible = true;
this.Hide();
}
else
{
this.Visible = true;
this.WindowState = FormWindowState.Normal;
this.Activate();
}
}
第二步、创建窗体Form的FormClosing事件。
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// 注意判断关闭事件reason来源于窗体按钮,否则用菜单退出时无法退出!
if (e.CloseReason == CloseReason.UserClosing)
{
//取消"关闭窗口"事件
e.Cancel = true; // 取消关闭窗体
//使关闭时窗口向右下角缩小的效果
this.WindowState = FormWindowState.Minimized;
this.notifyIcon1.Visible = true;
//this.m_cartoonForm.CartoonClose();
this.Hide();
return;
}
}
第三步、窗体右上角的关闭按钮,无法退出窗体进程,此时,可以使用如下代码退出应用。
System.Environment.Exit(0);