Thứ Tư, 6 tháng 6, 2012

Đưa ứng dụng xuống System tray trong lập trình C#

http://nguyenluuvu.com/blog/post/dua-ung-dung-xuong-system-tray-trong-lap-trinh-c.php
--   

Đưa ứng dụng xuống System tray trong lập trình C#




1/ Mở 1 C# Application Form lên.

2/ Thêm control NotifyIcon từ Toolbox.
3/ Đặt thuộc tính Text cho NotifyIcon control, dòng text này sẽ hiển thị khi ng dùng rê chuột lên icon ở System tray. Ví dụ: "congdongcviet.com"
4/ Add icon nào mà bạn muốn xuất hiện dưới System tray vào thuộc tính Icon.
5/ Add đoạn code sau vào sự kiện Resize của Form:

        
  1. private void Form1_Resize(object sender, EventArgs e)
  2.     
  3.         {
  4.     
  5.             // Nếu Form đang Minimize thì ẩn luôn Form
  6.     
  7.             if (FormWindowState.Minimized == WindowState)
  8.     
  9.                 Hide();
  10.     
  11.         }

6/ Thêm sự kiện DoubleClick cho NotifyIcon:

        
  1. private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
  2.     
  3.         {
  4.     
  5.             // Hiển thị lại Form nếu doubleclick vào icon dưới System tray
  6.     
  7.             Show();
  8.     
  9.             WindowState = FormWindowState.Normal;
  10.     
  11.         }

OK, giờ bấm F5 chạy thử xem, bạn có thấy nó dưới System tray chưa?.


Bây giờ chúng ta sẽ thêm để khi right click vào cái icon dưới Systray thì sẽ bung ra 1 menu giống như các chương trình khác nhé.
7/ Thêm control ContextMenu từ ToolBox.
8/ Thêm vào ContextMenu những menu bạn muốn hiển thị

        
  1. private void mnExit_Click(object sender, EventArgs e)
  2.     
  3.         {
  4.     
  5.             // Thoát ứng dụng
  6.     
  7.             Application.Exit();
  8.     
  9.         }

10/ Đặt thuộc tính ContextMenu cho control NotifyIcon là tên của control ContextMenu mà bạn mới thêm vào ở bước 7.

Không có nhận xét nào:

Đăng nhận xét

(Chơi cho vui) AIRDROP CHAINGE FINANCE - dự án xây dựng ứng dụng ngân hàng số cho mọi người

 Không hiểu lắm về cái này, tuy nhiên thấy quảng cáo khá nhiều, lại chỉ cung cấp vài thông tin cá nhân (mà mấy ông lớn như facebook với goog...