Tạo icon động trong khay hệ thống với C#

Bạn cần tạo một icon động trong khay hệ thống (chẳng hạn, cho biết tình trạng của một tác vụ đang chạy).
Tạo và hiển thị NotifyIcon. Sử dụng một Timer, Timer này sẽ phát sinh một cách định kỳ (mỗi giây chẳng hạn) và cập nhật thuộc tính NotifyIcon.Icon.
Với .NET Framework thì rất dễ dàng để hiển thị một icon trong khay hệ thống bằng NotifyIcon. Bạn chỉ cần thêm điều kiểm này vào form, cung cấp hình icon bằng thuộc tính Icon. Bạn cũng có thể thêm một menu ngữ cảnh vào điều kiểm này bằng thuộc tính ContextMenu (tùy chọn). Không giống với các điều kiểm khác, NotifyIcon sẽ tự động hiển thị menu ngữ cảnh khi nó được nhắp phải.
Bạn có thể làm động icon trong khay hệ thống bằng cách thay đổi icon định kỳ. Ví dụ, chương trình sau sử dụng tám icon, thể hiện hình mặt trăng từ khuyết đến đầy. Bằng cách dịch chuyển từ hình này sang hình khác, ảo giác về hình động sẽ được tạo ra.

using System;
using System.Windows.Forms;
using System.Drawing;
public class AnimatedSystemTrayIcon : System.Windows.Forms.Form {
// (Bỏ qua phần mã designer.)
Icon[] images;
int offset = 0;

private void Form1_Load(object sender, System.EventArgs e) {
// Nạp vào tám icon.
images = new Icon[8];
images[0] = new Icon(“moon01.ico”);
images[1] = new Icon(“moon02.ico”);
images[2] = new Icon(“moon03.ico”);
images[3] = new Icon(“moon04.ico”);
images[4] = new Icon(“moon05.ico”);
images[5] = new Icon(“moon06.ico”);
images[6] = new Icon(“moon07.ico”);
images[7] = new Icon(“moon08.ico”);
}

private void timer_Elapsed(object sender,
System.Timers.ElapsedEventArgs e) {

// Thay đổi icon.
// Phương thức thụ lý sự kiện này phát sinh mỗi giây một lần.
notifyIcon.Icon = images[offset];
offset++;
if (offset > 7) offset = 0;
}
}