I noticed that my application was throwing an exception in OnResize because an overridden version of OnResize in a class derived from Panel is called before the instance's constructor completes. In fact, OnResize is called before the constructor even starts (!).

Sure enough, the MSDN documentation for .NET 1.1 says that this can happen. This means that every class that overrides OnResize has to manually make sure that the instance information used in OnResize is initialized before OnResize uses it. This is quite ridiculous and seems like a bug in the Framework -- imagine if every instance method had to check if its constructor had completed.

Why does OnResize behave this way?

Are there any other methods that behave like this?

Is this going to be fixed?

Andrew