Windows Forms (or WinForms) provide the ease of use and simplicity for GUI application development to .NET, traditionally available to Visual Basic developers only.
Windows Forms applications can be developed using any .NET-supported programming language; out-of-the-box languages include Visual Basic .NET, C#, Managed C++, and Visual J#.
Visual Studio .NET provides an integrated, common environment for visual design and development of Windows Forms applications for C#, Visual Basic .NET, Visual J#, and Managed C++.
Windows Forms applications require zero installation; that means no registering of controls. A simple copy of the application executable and its associated control libraries is all that is required to install a Windows Forms application into an end- user desktop.
Windows Forms applications provide a separation of the graphical user interface and the application business logic by using a rich Event Handler model.
Windows Forms class library provides a rich set of prebuilt controls for user interface development. This includes buttons , list boxes, scroll bars, tab controls, tree views, dialog boxes, splitters, and so on.
Windows Forms Controls can be anchored and docked to support resizable forms.
User controls enable developers to create their own custom controls by extending and/or aggregating base controls.
Visual inheritance allows Windows Forms prebuilt controls to be subclassed and extended for any custom requirements.
Windows Forms controls can be data bound. In particular, the DataGrid control provides a simple, yet rich, programming model for database- intensive GUI applications.
Data binding provides Windows Forms the flexibility to connect with external Web services for connecting with nonrelational data sources.
Multiple Document Interface (MDI) applications can be developed easily using Windows Forms.