2009-07-08 6 views

답변

12

OnLoad을 무시하고 이벤트 처리기를 호출하도록 CPU주기를 절약하십시오.

일반적인 패턴은 컨트롤을 상속하는 경우 메서드를 재정의하는 것입니다. 그렇지 않으면 이벤트에 가입하십시오.

그러나 기본 클래스 'OnLoad 메서드는 Load 이벤트가 호출 된 곳이기 때문에 호출해야합니다.

+3

Microsoft에 따르면 OnLoad 메서드를 오버로드하는 것은 ** 파생 ** 클래스에서 이벤트를 처리하는 데 선호되는 기술입니다 (http://msdn.microsoft.com/en-us/library/system.windows 참조). .forms.form.onload.aspx) –

+2

@TroyMoon 토마스의 말은 아닌가요? –

0

OnLoad는 Load 이벤트를 처리하기 위해 VB.NET에서 사용되는 기본 이벤트 처리기입니다. 로드 이벤트에 코드를 첨부해야하는 경우 일반적으로이 메서드를 재정의합니다. 다른 Page Life Cycle 이벤트에 대한 기본 기능도 있습니다. OnPreRender, OnInit 등

+0

죄송합니다 ... winform에 대해 물어 보셨습니다. 페이지 수명주기 링크를 무시하십시오. 그래도 동일하게 적용됩니다. – regex

+0

또한 C#과 같은 다른 .NET 언어에서도 마찬가지입니다 (.NET Framework 자체는 대부분 C#으로 코딩되었습니다). –

4

OnLoad 메서드는 Load 이벤트를 발생시키는 메서드입니다. 프레임 워크 클래스의 표준 패턴이며 일반적으로 권장되는 이벤트입니다. 어떤 이벤트에 대해서도 Foo, 가상 보호 된 메서드 OnFoo을 사용하면 해당 이벤트가 발생합니다. 클래스의 다른 메소드는 이벤트를 직접 발생시키지 않지만 항상 OnFoo을 호출합니다.

this에서 이벤트를 처리해야하는 경우 일반적으로 OnFoo을 더 쉽고 빠릅니다.

관련 문제