Windows Forms provides a .NET wrapper around the Win32 user
interface model. Visible elements are represented as objects that derive
from the Control
base class. Control
features are configured with normal .NET properties, and we can use
ordinary C# event handlers to respond to user input. Data binding
automates some aspects of connecting data to the screen, although the
support in Windows Forms is not as comprehensive as in WPF, and we needed
to do some extra work to get the effect we required on the control we
wanted to use. Windows Forms may be less powerful than WPF, but it has a
smaller memory footprint and may be more suitable on low-end hardware, or
if you need to use controls that are available only for Windows
Forms.