Difference between OnLoad method and Load event?

2019-04-05 12:28发布

What is the difference between OnLoad method and Load event? I am developing WinForm controls. Should I register to Load event or override the OnLoad method? What are the advantages and the disadvantages of each one?

3条回答
smile是对你的礼貌
2楼-- · 2019-04-05 13:18

OnLoad is the default event handler used in VB.NET to handle the Load event. I typically override this method when I need to attach code to the load event. There are also default functions for the other Page Life Cycle events: OnPreRender, OnInit, etc.

查看更多
男人必须洒脱
3楼-- · 2019-04-05 13:19

I'd go for overriding OnLoad, so you spare the CPU cycles to invoke the event handler.

The general pattern is to override a method, if you inherit from a control; otherwise, subscribe to the event.

But remember to call the base class' OnLoad method, because that's where the Load event invoked.

查看更多
疯言疯语
4楼-- · 2019-04-05 13:20

OnLoad method is the one that raises Load event. It's a standard pattern in framework classes, and a generally recommended one - for any event Foo, you have a virtual protected method OnFoo which raises that event; and no other method of the class raises the event directly, but always calls OnFoo.

If you need to handle the event on this, it's usually both easier and faster to override OnFoo.

查看更多
登录 后发表回答