- [C#] Cách Sử Dụng DeviceId trong C# Để Tạo Khóa Cho Ứng Dụng
- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
[C#] Hướng dẫn Overlay Icon dưới Taskbar của ứng dụng - lap trinh csharp
Hôm nay, mình xin hướng dẫn cho các một tuts về cách tạo Overlay Icon Real time của ứng dụng dưới thanh taskbar trong lap trinh cshap.
Chắc bạn bạn đã từng thấy, khi các bạn chạy ứng dụng sẽ có một icon ứng dụng của bạn hiển thị ở thanh taskbar bên dưới. Các bạn nào đang sử dụng ứng dụng facebook hoặc zalo.
Khi các bạn nhận được một tin nhắn mới thì phía dưới icon ứng dụng của bạn xuất hiện thêm các số 1-n, theo số tin nhắn mới mà bạn chưa đọc.
Hoặc khi các bạn download, các bạn để ý dưới thanh taskbar cũng có 1 progress chạy theo.
OVERLAY ICON IN WINDOWS 7 TASKBAR C#
Để làm được vấn đề đó, mình sẽ hướng dẫn các bạn sử dụng thư viện Microsoft.WindowsAPICodePack.Taskbar. Thư viện này sẽ hỗ trợ cho chúng ta làm được những việc mà mình vừa nói trên.
Giao diện Demo ứng dụng Overlay Icon Taskbar in Lap trinh csharp
+ Đầu tiên mình xin hướng dẫn các bạn cài đặt thư viện WindowsAPICodePack.
Các bạn mở cửa số command line của Nuget, sau đó gõ lệnh cài đặt như sau:
PM>Install-Package Microsoft.WindowsAPICodePack-Shell
Sau khi cài đặt xong các bạn tiến hành import thư viện vào để sử dụng.
using System;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.WindowsAPICodePack.Taskbar;
using System.Threading;
using System.Runtime.InteropServices;
using System.Security.Permissions;
* Có một vấn đề mình xin lưu ý với các bạn, ứng dụng này chỉ sử dụng trên trên Windows Vista trở lên mới sử dụng được nhé.
Các bạn có thể dùng hàm dưới đây để kiểm tra, nếu Operation mà chúng ta đang sử dụng dưới Windows Vista thì ko chạy ứng dụng
private void Form1_Load(object sender, EventArgs e)
{
if (!TaskbarManager.IsPlatformSupported)
{
MessageBox.Show("Overlay Icon không hỗ trợ cho hệ thống của bạn" + Environment.NewLine + " Chỉ hỗ trợ từ windows 7 trở lên.");
// Exit the current process
Application.Exit();
}
}
- Tiếp đến các bạn viết hàm chọn sự kiện chọn Icon thì overicon dưới thanh taskbar bằng lập trình C#
private void ShowOrHideOverlayIcon()
{
if (checkBox1.Checked)
{
Icon icon = null;
switch (comboBox1.SelectedIndex)
{
case 0:
icon = Icon.FromHandle(Properties.Resources.GreenToy.GetHicon());
break;
case 1:
icon = Icon.FromHandle(Properties.Resources.NinjaToy.GetHicon());
break;
case 2:
icon = Icon.FromHandle(Properties.Resources.BlueToy.GetHicon());
break;
default:
MessageBox.Show("Vui lòng chọn Icon Overlay!");
break;
}
TaskbarManager.Instance.SetOverlayIcon(icon, comboBox1.SelectedIndex.ToString());
}
else
TaskbarManager.Instance.SetOverlayIcon(null, null);
}
- Tiếp đến là mình viết hàm cho progress bar khi change combox để hiển thị progress
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
int max = 25;
var prog = Microsoft.WindowsAPICodePack.Taskbar.TaskbarManager.Instance;
if(comboBox2.SelectedIndex == 0)
{
prog.SetProgressState(Microsoft.WindowsAPICodePack.Taskbar.TaskbarProgressBarState.Normal);
}else if(comboBox2.SelectedIndex == 1)
{
prog.SetProgressState(Microsoft.WindowsAPICodePack.Taskbar.TaskbarProgressBarState.Error);
}
else if(comboBox2.SelectedIndex == 2)
{
prog.SetProgressState(Microsoft.WindowsAPICodePack.Taskbar.TaskbarProgressBarState.Paused);
}
else if(comboBox2.SelectedIndex == 3)
{
prog.SetProgressState(Microsoft.WindowsAPICodePack.Taskbar.TaskbarProgressBarState.NoProgress);
}
else
{
prog.SetProgressState(Microsoft.WindowsAPICodePack.Taskbar.TaskbarProgressBarState.Indeterminate);
}
for (int i = 0; i < max; i++)
{
prog.SetProgressValue(i, max);
Thread.Sleep(100);
}
}
Vậy là xong, chúc các bạn thành công!