Win Forms strives to eliminate such subtleties and ensure that operations work in a consistent manner at all times. Properties on Win Forms controls can be set at any time in any order and produce the desired effect. In the instance of changes that require a new HWND to be created, the Win Forms framework automatically and transparently re-creates the window and applies all the appropriate settings to it. Getting notification or events from controls is also easier from Win Forms. All Win Forms events are based on a feature of the Common Language Runtime called Delegates.
Delegates are basically type-safe, secure function pointers.
Events can also be handled by overriding derived classes, but this is generally for control creators and more advanced applications. Notice that even though the handler method is marked private, the code that created the hookup had access to the method, and the button will be able to fire the event to this method when it is clicked. Getting started with Win Forms projects is also made easy. Creating a Win Forms project with Visual Studio. There are no header files, no interface definition files, no bootstrap application files, no resource files, and no library files.