- [DEVEXPRESS] Hướng dẫn bật tính năng Scroll Pixcel in Touch trên GridView
- [DEVEXPRESS] Hướng dẫn sử dụng TileBar viết ứng dụng duyệt hình ảnh Winform
- [DEVEXPRESS] Tô màu border TextEdit trên Winform
- [C#] Lấy dữ liệu từ Console Write hiển thị lên textbox Winform
- [C#] Hiển thị Progress bar trên Window Console
- [C#] Di chuyển control Runtime và lưu layout trên winform
- [SQLSERVER] Sử dụng hàm NULL IF
- [C#] Chia sẽ source code mã đi tuần bằng giao diện Winform
- [C#] Flash Window in Taskbar Winform
- Download và Giải nén tập tin File sử dụng Powershell
- [C#] Hướng dẫn cách lấy thông tin đăng nhập tài khoản và mật khẩu web browser trên windows
- [VB.NET] CRUD Thêm xóa sửa tìm kiếm Realtime FireBase
- [C#] Hiển thị thông báo Toast Message trong lập trình Winform
- [C#] Cấu hình định dạng ngày tháng, thời gian trên Windows cho ứng dụng Winform
- [C#] Rút gọn đường dẫn link url với TinyURL API
- [C#] Hướng dẫn cách bo tròn winform with Radius
- [C#] Chia sẽ class BackGroundOverlay Show Modal cho Winform
- [C#] Hướng dẫn Flip Image Winform
- [C#] Invoke là gì? cách sử dụng phương thức Invoke()
- [C#] Hướng dẫn chia sẽ file, folder từ ứng dụng sang Zalo Chat
[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!