Bên trong hình của bạn:
void SubscribeToEvent(OtherClass theInstance)
{
theInstance.SomeEvent += this.MyEventHandler;
}
void MyEventHandler(object sender, EventArgs args)
{
// Do something on the event
}
Bạn chỉ cần đăng ký sự kiện trên lớp khác giống như cách bạn sẽ đến một sự kiện trong mẫu của bạn. Ba điều quan trọng cần nhớ:
1) Bạn cần đảm bảo phương thức của bạn (trình xử lý sự kiện) có khai báo thích hợp để khớp với loại đại biểu của sự kiện trên lớp khác.
2) Sự kiện trên lớp khác cần được hiển thị cho bạn (ví dụ: công khai hoặc nội bộ).
3) Đăng ký trên một phiên bản hợp lệ của lớp, chứ không phải chính lớp đó.
Nguồn
2009-05-27 00:07:18
Cảm ơn bạn đã có giải pháp tuyệt vời. Tôi đã tìm ra nó ngay sau khi tôi đăng một câu hỏi, và giải pháp của tôi rất giống với câu hỏi của bạn. – sarsnake
http://stackoverflow.com/questions/8335131/winform-events-in-another-class-net2-simplify-delegate để triển khai trong .NET2 –
@CSgarpAtl Tôi thấy điều này được chọn làm câu trả lời đúng. Thật không may tôi không thể làm cho nó hoạt động ngay cả khi tôi đã theo từng bước. Tôi đang cố gắng làm cho biểu mẫu chính của tôi biết về phương thức đã xảy ra trong Điều khiển người dùng của tôi. – Disasterkid