1、在窗体中添加NotifyIcon控件
2、在form类代码中添加函数控制窗体的显示和隐藏:
private void ShowMainForm()
{
this.Visible = true; // 窗体可见
this.WindowState = FormWindowState.Normal; // 窗体状态为正常
Saber.Visible = true; // 托盘图标可见
this.ShowInTaskbar = true; // 在任务栏显示窗体
}
// 隐藏窗体和任务栏图标
private void HideMainForm()
{
this.WindowState = FormWindowState.Minimized; // 最小化时隐藏窗体
this.Visible = false; // 窗体不可见
this.Saber.Visible = true; // 图标在任务栏区域可见
this.ShowInTaskbar = false; // 不在在任务栏显示窗体
}
3、为NotifyIcon控件添加一个MouseClick的事件,实现点击托盘图标,显示窗体的功能,代码如下:
private void Saber_MouseClick(object sender, MouseEventArgs e)
{
// 判断是否单击鼠标左键
if (e.Button == MouseButtons.Left)
{
// 切换显示状态
if (this.WindowState == FormWindowState.Minimized)
{
ShowMainForm();
}
else
{
HideMainForm();
}
}
}
4、为窗体添加SizeChanged的事件,实现点击最小化按钮就最小化到托盘的功能,代码如下:
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
HideMainForm();
}
}
经过以上4步,一个简单的托盘窗体程序就完成了。