William Shakespeare wrote, "All the world's a form, and all the controls and labels merely players: they have their exit events and their entrance events; and one control in its time exposes many properties" (from "As You Code It," Act 2.7.0). Although .NET was still in beta when he penned these words, they apply perfectly to any Windows Forms application you write, even today.
The .NET technology known as Windows Forms includes all the classes and features needed to develop standard "desktop" applications for Microsoft Windows. In the early days of Windows, this was pretty much the only type of program you could write for the platform. But now it is just one of many application types, along with console applications, web ("Web Forms") applications, and services.
If you're new to development on the Windows system, writing applications in the .NET Framework may keep you from a full appreciation of what really happens inside a Windows application, and from being involuntarily committed to an asylum. That's because the internals of Windows applications are no fun.
Windows was originally developed as an application running within MS-DOS, and this had a major impact on the design of Windows and of any applications running within its pseudo-operation-system environment. The latest releases of Windows are true operating systems, no longer dependent on MS-DOS. But the programming methodology was left unchanged for backward compatibility. ...