Ẩn chương trình xuống khay hệ thống lập trình App

Ẩn chương trình xuống khay hệ thống

Việc này thực sự chỉ là ẩn chương trình đang chạy và cho hiện 1 cái NotifyIcon lên. NotifyIcon có các MenuItem để tương tác với chương trình đang chạy, như mở chương trình, thoát chương trình…, các chức năng do ta đặt ở phần ContextMenuStrip phía trên. Vì ẩn chương trình và chương trình luôn chạy ngầm nên ta phải tính làm sao để giảm thiểu tài nguyên sử dụng, form chúng ta cho chạy ngầm phải ít tốn tài nguyên, chỉ để thực hiện các chức năng cơ bản (như để gọi các form to hơn) hoặc chỉ là 1 service.
Để thực hiện ẩn chương trình ta thêm 1 button, hoặc gán vào các sự kiện khác (minimize form chẳng hạn)
Sự kiện click của button này như sau
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void btnExit_Click(object sender, EventArgs e)
{
 // Cho hiện notifyIcon
    notifyIcon1.Visible = true;
 // Hiện BaloonTip hoặc không
    notifyIcon1.ShowBalloonTip(10);
 
 // Chọn ẩn
    this.Hide();
 // Hoặc
    this.ShowInTaskbar = false;
 WindowState = FormWindowState.Minimized;
 // Hoặc cả 2 để ẩn form
}

 

Phần việc còn lại là do NotifyIcon phụ trách. Chẳng hạn ta muốn click chuột phải để hiện menu context, click chuột trái để mở form: Ta thêm 1 sự kiện Click hoặc MouseClick cho NotifyIcon
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
    if(e.Button == System.Windows.Forms.MouseButtons.Left)
 {
  // Ẩn notifyIcon đi
  notifyIcon1.Visible = false;
  // Cách này
  WindowState = FormWindowState.Normal;
  this.ShowInTaskbar = true;
  // Hoặc
  this.Show();
  // Hoặc cả 2 miễn là phải tương ứng với lúc ẩn
 }
}

Leave a Reply

avatar
  Subscribe  
Notify of