PDA

View Full Version : Cách tạo Event riêng cho các UserControl



loveapp
04-07-2013, 11:46
Tôi thấy một số bạn hỏi về việc tạo cá Custom Event cho Control tự tạo (UserControl), tôi viết bài này hướng dẫn cách chuẩn nhất mà chúng tôi được đào tạo để làm việc:

Trước tiên phải nói, việc tạo lập các sự kiện riêng là điều "PHẢI" biết đối với các developers, vì chỉ có như vậy chúng ta mới có thể viết được các Control đẹp và tốc độ hoạt động tốt. Ứng dụng được Customer Event + việc Render hình ảnh sẽ cho bạn có được các control không thua kém DevExpress.

Các bước tạo và sử dụng Custom Event:

1. Tạo delegate
public delegate void MailViewEventHandler(int messageid);

2. Định nghĩa một EventHandler và hàm thực hiện: phía trong Control của bạn, bạn định nghĩa như sau:

[Category("Action")]
[Description("GÕ MÔ TẢ VÀO ĐÂY")]
public event MailViewEventHandler DiscardMessage; // sự kiện này có tên DiscardMessage (hủy bỏ tin nhắn).
protected virtual void OnDiscardMessage(int _messageid )
{
if (DiscardMessage != null)
{
DiscardMessage(_messageid ); // Notify Subscribers
}
}

Phía bên trong của Control, bạn sử dụng hàm OnDiscardMessage(int) như các hàm bình thường để xử lý.

3. Sử dụng Sự kiện phía bên ngoài.
Bạn kéo thả control của bạn vào một Control (hoặc Form), khi ấy trong cửa sổ properties tại mục Events sẽ xuất hiện sự kiện DiscardMessage(int) và bạn chỉ cần 2click để sử dụng sự kiện này.

Như vậy, bạn đã viết được sự kiện riêng rồi.

Để biết thêm, bạn có thể lên MSDN để tra cứu nhé.

Chúc các bạn vui.

hta1812
14-07-2013, 10:36
Các bạn cũng có thể tham khảo link dưới đây để xem cách tạo user control nhé.

cách tạo control này khá là hay, bạn hãy thử xem.

http://123quangcao.net/Articles/Huong-dan-Customize-UserControl/6