C#最小化到托盘+双击托盘恢复

1.添加notifyIcon控件,并添加Icon,否则托盘没有图标(托盘右键菜单也可直接在属性里添加);

 

2.响应Form的Resize或SizeChanged消息:


  1. // Hide to system tray
  2. private void Form1_Resize(object sender, EventArgs e)
  3. {
  4. if (this.WindowState == FormWindowState.Minimized)
  5. {
  6. this.Hide();
  7. this.ShowInTaskbar = false;
  8. this.notifyIcon.Visible = true;
  9. }
  10. }

 

3.双击托盘图标恢复需要响应notifyIcon的DoubleClick消息:


  1. // Show from system tray
  2. private void notifyIcon_DoubleClick(object sender, EventArgs e)
  3. {
  4. if (this.WindowState == FormWindowState.Minimized)
  5. {
  6. this.Show();
  7. this.WindowState = FormWindowState.Normal;
  8. notifyIcon.Visible = false;
  9. this.ShowInTaskbar = true;
  10. }
  11. }