I'm working on an existing solution. The solution is using a GUI inheritance technique. All Forms within the solution inherite from a parent Form. Within the parent Form there is a virtual method with empty body that is called in the parent Form load event. Each Form override that method and provide its specific implementation. However, when running the solution the derived class method version is the one that is executed. That is confusing me how come the derived class override version is executed while all what is done is overriding the parent version in the derived classes while not invoking this derived version explicitly in any single line of code!!!!