Hôm nay mình lại tiếp tục Series lập trình C# winform căn bản kèm theo ví dụ thực tế
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 :D ). 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ốngThì kết quả sẽ là:
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);
SỰ KIỆN CỦA NOTIFYICON
NotifyIcon có các sự kiện hay dùng như sự kiện Click, DoubleClick. 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)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.
{
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);
}
}
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
Chào các bạn và hẹn gặp lại vào các bài sau!
0 nhận xét:
Đăng nhận xét