This is an implementation of the abstract DesignerLoader.BeginLoad(IDesignerLoaderHost) method. You do not need to override this method in your own class. The BasicDesignerLoader.BeginLoad(IDesignerLoaderHost) method performs the following actions:
It verifies that the design surface has not already loaded.
On the first call, it adds relevant services and calls the BasicDesignerLoader.Initialize method.
It calls the BasicDesignerLoader.OnBeginLoad, BasicDesignerLoader.PerformLoad(IDesignerSerializationManager), and BasicDesignerLoader.OnEndLoad(bool, ICollection) methods.
If the designer loader service has not been removed from the service container, BasicDesignerLoader.BeginLoad(IDesignerLoaderHost) will call the BasicDesignerLoader.System#ComponentModel#Design#Serialization#IDesignerLoaderService#AddLoadDependency and BasicDesignerLoader.System#ComponentModel#Design#Serialization#IDesignerLoaderService#DependentLoadComplete(bool, ICollection) methods instead of the BasicDesignerLoader.OnBeginLoad and BasicDesignerLoader.OnEndLoad(bool, ICollection) methods. In this situation, it is the responsibility of the designer loader service to call BasicDesignerLoader.OnBeginLoad and BasicDesignerLoader.OnEndLoad(bool, ICollection).