В чем разница между методом OnLoad
и событием Load
? Я разрабатываю элементы управления WinForm. Должен ли я зарегистрироваться на событие Load
или переопределить метод OnLoad
? Каковы преимущества и недостатки каждого из них?
Разница между методом OnLoad и событием Load?
Ответы (3)
Я бы предпочел переопределить OnLoad
, чтобы сэкономить циклы ЦП для вызова обработчика событий.
Общий шаблон заключается в переопределении метода, если вы наследуете элемент управления; в противном случае подпишитесь на событие.
Но не забудьте вызвать метод OnLoad
базового класса, потому что именно там вызывается событие Load
.
Метод OnLoad вызывает событие Load. Это стандартный шаблон для классов фреймворка и обычно рекомендуемый — для любого события Foo
у вас есть виртуальный защищенный метод OnFoo
, который вызывает это событие; и ни один другой метод класса не вызывает событие напрямую, а всегда вызывает OnFoo
.
Если вам нужно обработать событие на this
, обычно проще и быстрее переопределить OnFoo
.
OnLoad — это обработчик событий по умолчанию, используемый в VB.NET для обработки события Load. Обычно я переопределяю этот метод, когда мне нужно прикрепить код к событию загрузки. Существуют также функции по умолчанию для других событий жизненного цикла страницы: OnPreRender , OnInit и т. д.