2009-07-08 40 views

Trả lời

12

Tôi muốn ghi đè OnLoad, vì vậy bạn bỏ qua các chu kỳ CPU để gọi trình xử lý sự kiện.

Mẫu chung là ghi đè phương thức, nếu bạn kế thừa từ điều khiển; nếu không, hãy đăng ký sự kiện.

Nhưng hãy nhớ gọi phương thức lớp cơ sở 'OnLoad, vì đó là nơi sự kiện Load được gọi.

+3

Theo Microsoft, quá tải phương pháp OnLoad là '.. kỹ thuật ưu tiên để xử lý sự kiện trong một ** lớp ** có nguồn gốc' (xem http://msdn.microsoft.com/en-us/library/system.windows .forms.form.onload.aspx) –

+2

@ TroyMoon Chẳng phải đây là những gì Thomas nói? –

0

OnLoad là trình xử lý sự kiện mặc định được sử dụng trong VB.NET để xử lý sự kiện Tải. Tôi thường ghi đè phương thức này khi tôi cần đính kèm mã vào sự kiện tải. Ngoài ra còn có các chức năng mặc định cho các sự kiện Page Life Cycle khác: OnPreRender, OnInit, v.v.

+0

Rất tiếc ... Chỉ cần nhận ra bạn đã hỏi về winform. Bỏ qua liên kết vòng đời trang. Tương tự áp dụng mặc dù. – regex

+0

Ngoài ra, nó cũng giống nhau trong các ngôn ngữ .NET khác, chẳng hạn như C# (bản thân .NET framework được mã hóa phần lớn trong C#). –

4

Phương pháp tải trước là phương pháp tăng sự kiện tải. Đó là một mẫu tiêu chuẩn trong các lớp khung công tác và một mẫu chung được đề xuất - cho bất kỳ sự kiện nào Foo, bạn có phương thức được bảo vệ ảo OnFoo làm tăng sự kiện đó; và không có phương pháp nào khác của lớp làm tăng sự kiện trực tiếp, nhưng luôn gọi OnFoo.

Nếu bạn cần xử lý sự kiện trên this, thường dễ dàng hơn và nhanh hơn để ghi đè OnFoo.

Các vấn đề liên quan