- [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 viết ứng dụng chat với Gemini AI Google Winform
- Hướng dẫn khóa file bằng nhiều process id, không cho xóa tập tin
- Hướng dẫn cách tạo Product Id cho ứng dụng phần mềm XXXXX-XXXXX-XXXXX-XXXXX
- [SQLSERVER] Hướng dẫn tạo script sql từ ứng dụng Sqlserver management Studio
- [C#] Hướng dẫn sử dụng thư viện AutoITx lấy id và password Ultraviewer trên winform
- [VB.NET] Hướng dẫn lấy thông tin tài khoản đăng nhập windows và khởi động lại ứng dụng ở chế độ Administrator
- [C#] Sử dụng thư viện Polly gửi lại request api khi request bị lỗi hay rớt mạng
- [DEVEXPRESS] Chia sẻ source code tạo báo cáo report in tem nhãn label trên C# winform
- [DEVEXPRESS] Hướng dẫn vẽ biểu đồ Bar Chart trên Winform
- [C#] Tạo form đăng nhập và đăng ký với hiệu ứng Sliding Animation Effect
- [C#] Hướng dẫn tạo thanh toán đơn hàng qua mã vạch VietQR sử dụng API PayOS hoàn toàn miễn phí
- [C#] Hướng dẫn ghi log ra RichTextBox giống Console trên Winform sử dụng thư viện Serilog
- [C#] Hướng dẫn cách tạo mã QR Code trên file Excel
- [VB.NET] Gởi tin nhắn và file đính kèm qua ứng dụng gởi tin nhắn Whats App
- [C#] Viết ứng dụng Auto Fill list Textbox from clipboard Winform
- [TOOL] Chia sẻ phần mềm thay đổi thông tin cấu hình máy tính
- [C#] Hướng dẫn Export dữ liệu ra file Microsoft Word Template
- [C#] Chia sẻ source code tool kiểm tra domain website
Tìm hiểu đối tượng TokenEdit trong DevExpress
Trong bài viết hôm nay mình xin giới thiệu cho các tín đồ của DevExpress một control nữa là TokenEdit. Control này có tính năng tương tự như nhập địa chỉ Email gởi đi của gmail hoặc chức năng Tag của facebook. Bạn có thể xem qua ví dụ bên dưới để biết hiểu thêm nhé:
Bạn thiết kế form đơn giản như sau nhé
Tiếp theo là những sự kiện sử dụng trong chương trình
public Form1()
{
InitializeComponent();
Load += Form1_Load;
tkeEmail.CustomDrawTokenGlyph += tkeEmail_CustomDrawTokenGlyph;
tkeEmail.BeforeShowPopupPanel += tkeEmail_BeforeShowPopupPanel;
}
Và kế đến là những hàm để xử lý các sự kiện trên
void tkeEmail_BeforeShowPopupPanel(object sender, TokenEditBeforeShowPopupPanelEventArgs e)
{
lblEmail.Text = e.Value.ToString();
lblName.Text = e.Description;
}
void tkeEmail_CustomDrawTokenGlyph(object sender, TokenEditCustomDrawTokenGlyphEventArgs e)
{
Image image = icEmail.Images[0];
if (image != null) e.Cache.Paint.DrawImage(e.Graphics, image, e.GlyphBounds, new Rectangle(Point.Empty, image.Size), true);
e.Handled = true;
}
void Form1_Load(object sender, EventArgs e)
{
initTokenEdit();
}
Cuối cùng là đoạn để add các Item cho TokenEdit, mình cố tình viết trong code để các bạn có thể thêm vào một cách linh động theo dũ liệu phát sinh
void initTokenEdit()
{
TokenEditToken item1 = new TokenEditToken("Mr. Cùi Bắp","Freelancer.BSoft@Gmail.com");
tkeEmail.Properties.Tokens.Add(item1);
TokenEditToken item2 = new TokenEditToken("Hoàng Tử Nhỏ", "hoangtunho2015@Gmail.com");
tkeEmail.Properties.Tokens.Add(item2);
TokenEditToken item3 = new TokenEditToken("Thảo Meo", "meomeomeo@Gmail.com");
tkeEmail.Properties.Tokens.Add(item3);
tkeEmail.Properties.PopupPanel = flyEmail;
}
Và giờ thì F5 và thưởng thức thôi
Nếu thấy hữu ích hãy Like và Share để ủng hộ tụi mình nhé. Cảm ơn!