NotifyIcon trong C#-Lập trình tạo thông báo cho ứng dụng

GIỚI THIỆU

   Một phần mềm hoàn chỉnh không phải lúc nào cũng đưa ra các thông báo cho người dùng bằng MessageBox được, vì khi đó người dùng cần phải ấn vào OK, hoặc tắt MessageBox đi, rất phiền phức. Có một cách khác để thông báo mà các phần mềm khác hay dùng đó chính là dùng control mà mình sẽ giới thiệu hôm nay – NotifyIcon.


NotifyIcon thường thông báo khi ta đóng phần mềm xuống thanh Taskbar, hoặc thông báo thông tin về update phần mềm, hoặc thông báo thời gian thực thi của một lệnh (-shutdown -s -t chẳng hạn 😀 ). Cũng như các Control khác, NotifyIcon có các thuộc tính và sự kiện cơ bản.

THUỘC TÍNH CỦA NOTIFYICON

   Icon mình có thể thêm Icon tùy biến ở ngoài vào theo ý thích. Vì mình dùng Win10 nên tạm thời các demo đều là hình ảnh của Win 10 nên các bạn thông cảm.
   Ví dụ: Với đoạn code sau
//Icon trên khay hệ thống
notifyIcon1.Icon = SystemIcons.WinLogo; 

//Biểu tượng xuất hiện trên thông báo
notifyIcon1.BalloonTipIcon = ToolTipIcon.Info; 

notifyIcon1.BalloonTipText = "IceTea Việt!";
notifyIcon1.BalloonTipTitle = "Thông báo!"; 

notifyIcon1.ShowBalloonTip(1000);

Thì kết quả sẽ là:

 
SỰ KIỆN CỦA NOTIFYICON

   NotifyIcon có các sự kiện hay dùng như sự kiện ClickDoubleClick. Và thường được dùng kèm với các sự kiện khác của Form.   Ví dụ: Ta muốn làm một thông báo khi đóng (Minimize) chương trình xuống, và khi hiện chương trình lại lại thông báo thêm lần nữa, ta thực hiện với đoạn code sau, với ShowBalloonTip(int_value) là lệnh hiển thị thông báo của NotifyIcon

private void YourForm_SizeChanged(object sender, EventArgs e)
{
        if(this.WindowState == FormWindowState.Minimized)
        {
            notifyIcon1.Icon = SystemIcons.WinLogo;
            notifyIcon1.BalloonTipIcon = ToolTipIcon.Info;

            notifyIcon1.BalloonTipText = "IceTea Việt!";
            notifyIcon1.BalloonTipTitle = "Thông báo!"; 

            //Lệnh gọi thông báo ra màn hình với 1000 là thời gian hiển thị
            notifyIcon1.ShowBalloonTip(1000);
        }
        else if(this.WindowState == FormWindowState.Normal)
        {
            notifyIcon1.BalloonTipText = "Ứng dụng đã được mở lại";

            notifyIcon1.ShowBalloonTip(1000);
        }
            
}

Thì khi đóng chương trình xuống Taskbar sẽ hiển thị thông báo Notification với tiêu đề là “Thông báo”, nội dung là“IceTea Việt”. Với thời gian hiển thị là 10 giây. Và tương tự  khi mở lại.
Trên là những thông tin cơ bản về Control NotifyIcon của C#. Các bạn tham khảo nếu thiếu hay không hiểu gì cứ viêc pm hỏi mình, hoặc comment mình sẽ trả lời ngay.
Như thường lệ là đoạn code để đoán kết quả:

using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
 public Form1()
 {
     InitializeComponent();
 }

 private void Form1_Load(object sender, EventArgs e)
 {
     // When the program begins, show the balloon on the icon for one second.
     notifyIcon1.ShowBalloonTip(1000);
 }

 private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
 {
     // When icon is double-clicked, show this message.
     MessageBox.Show("Doing something important on double-click...");
     // Then, hide the icon.
     notifyIcon1.Visible = false;
 }
    }
}

TỔNG KẾT

Đối với chương trình yêu cầu thông báo liên tục, NotifyIcon có thể giúp tích hợp vào hệ điều hành chức năng này. Bằng cách kết hợp các NotifyIcon với các balloonTip, bạn có thể đưa ra những cảnh báo, attention-grabbing hoặc tin nhắn.

Chào các bạn và hẹn gặp lại vào các bài sau!


Nguồn mình lấy từ iceteaviet 

Mình muốn lưu và chia sẻ bài viết hay này đối với các App developer bạn và mình.
Cảm ơn bạn đã đọc.

Leave a Reply

avatar
  Subscribe  
Notify of