01/10/2018, 17:17

Tạo 1 icon động trong khây hệ thống

Bạn muốn tạo một icon động (chớp nháy) trên khây hệ thống, khi bạn trỏ truột vào icon đó thì xuất hiện dòng chữ thông báo điều bạn muốn thông báo. Bạn dùng đối tượng NotifyIcon chứa lần lượt các icon mà bạn muốn hiện thị. Ở đây mình sử dụng 8 icon thay đổi luân phiên liên tục. Bên cạnh đó bạn ...

Bạn muốn tạo một icon động (chớp nháy) trên khây hệ thống, khi bạn trỏ truột vào icon đó thì xuất hiện dòng chữ thông báo điều bạn muốn thông báo.

Bạn dùng đối tượng NotifyIcon chứa lần lượt các icon mà bạn muốn hiện thị. Ở đây mình sử dụng 8 icon thay đổi luân phiên liên tục. Bên cạnh đó bạn dùng đối tượng Timer để thiết lập khoảng thời gian để chuyển icon. Ở đây mình thiết lập là 500 miliseconds.

Chú ý: 8 icon có kiểu định dạng là icon và được include vào project, và phải được bật thuộc tính Copy to Output Directory lên “Copy if never” ( thiết lập bằng cách nhấp phải lên hình -> chọn “Properties” -> chọn “Copy to Output Directory” -> chọn “Copy if never”)

Code minh họa bên dưới đươc viết trên VS2005:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace MyProject
{
    public partial class ShowDynamicIconsOnTray : Form
    {
        // Tạo biến chứa 8 icon
        Icon[] images = new Icon[8];
        int index = 0;

        // Tạo đối tượng timer
        Timer timer = new Timer();

        // Tạo đối tượng notify icon
        NotifyIcon notifyIcon = new NotifyIcon();

        public ShowDynamicIconsOnTray()
        {
            InitializeComponent();
            this.Load += new EventHandler(ShowDynamicIconsOnTray_Load);
            this.FormClosed += new FormClosedEventHandler(ShowDynamicIconsOnTray_FormClosed);
            timer.Tick += new EventHandler(timer_Tick);

            // Xác nhận hiện icon trên khây hệ thống & cho phép timer chạy
            timer.Enabled = true;
            notifyIcon.Visible = true;
        }

        void ShowDynamicIconsOnTray_FormClosed(object sender, FormClosedEventArgs e)
        {
            // Hàm này dọn dẹp sạch khây hệ thống khi bạn đóng form
            notifyIcon.Dispose();
        }        

        void ShowDynamicIconsOnTray_Load(object sender, EventArgs e)
        {
            // được hiển thị khi rê chuột vào icon trên khây hệ thống
            notifyIcon.Text = "Góc kinh nghiệm!";

            // 8 icon
            images[0] = new Icon("01 osX Folder open.ico");
            images[1] = new Icon("02 osX Control panel.ico");
            images[2] = new Icon("03 osX Dialup.ico");
            images[3] = new Icon("10 osX My favorites BIS.ico");
            images[4] = new Icon("30 osX Explorer.ico");
            images[5] = new Icon("32 osX Removable disk.ico");
            images[6] = new Icon("42 osX Help.ico");
            images[7] = new Icon("21 osX Network computer.ico");

            // Thiết lập khoảng thời gian thay đổi icon, đơn vị tính là milliseconds
            timer.Interval = 500;
        }

        void timer_Tick(object sender, EventArgs e)
        {
            notifyIcon.Icon = images[index];
            index++;
            if (index > 7)
                index = 0;
        }
    }
}

Kết quả: khi chương trình chạy, bạn nhìn phía bên phải cuối màn hình, ở đây khây hệ thống sẽ chớp nháy 8 icon bạn tạo. Khi trỏ chuột vào bạn sẽ thấy dòng “Góc Kinh Nghiệm”.

Chúc các bạn thành công! :neutral:


0