Tôi đang sử dụng biểu mẫu cửa sổ.Tôi có phải hủy đăng ký khỏi các sự kiện của nút sau khi sử dụng nó trong C# không?
Ứng dụng C# của tôi chứa 100 user controls
. Tôi hiển thị/ẩn một trong số 100 user controls
tại một thời điểm khi tôi cần và ẩn phần còn lại. Mỗi một trong những user controls
có 30 buttons
và tôi đăng ký vào button
sự kiện như sau trong constructor:
public UserControl1()
{
InitializeComponent();
button1.Click += new EventHandler(MyButtonClick);
button2.Click += new EventHandler(MyButtonClick);
.
.
button30.Click += new EventHandler(MyButtonClick);
}
void MyButtonClick(object sender, EventArgs e)
{
// do something
}
Vì vậy, khi tôi chạy ứng dụng tất cả 100 User controls
đăng ký vào các sự kiện 30 buttons
và một số các user controls
đăng ký cho sự kiện này nhưng chúng không bao giờ được sử dụng trong quá trình sử dụng ứng dụng.
Tôi đọc nội dung nào đó về hủy đăng ký sự kiện here và Here nhưng một số câu trả lời cho biết bạn nên hủy đăng ký vì nó gây rò rỉ bộ nhớ và một số nói rằng bạn không phải làm vậy, do đó câu trả lời vẫn không rõ ràng.
Câu hỏi của tôi là tôi phải hủy đăng ký từ button
sự kiện sau khi sử dụng ví dụ: khi tôi hiển thị/ẩn user control
. Nếu có, làm thế nào tôi có thể đăng ký từ sự kiện button
khi một user control
được hiển thị và hủy đăng ký khi nó không được hiển thị.
Không có sự kiện hiển thị/ẩn mà bạn có thể sử dụng để đính kèm/tách trình xử lý sự kiện tương ứng không? – PeteGO
@PeteGO Tôi đã có một cái nhìn bây giờ và tôi đã không tìm thấy hiển thị ngay cả – Kate
Có một sự kiện 'IsVisibleChanged' mà bạn có thể sử dụng. – PeteGO