Windows Forms

File:DotNet3.0.svg  **Windows Forms** is the name given to the graphical application programming interface (API) included as a part of Microsoft's .NET Framework, providing access to the native Microsoft Windows interface elements by wrapping the existing Windows API in managed code. While it is seen as a replacement for the earlier and more complex C++ based Microsoft Foundation Class Library, it does not offer a paradigm comparable to model–view–controller. Some after-market and third party libraries have been created to provide this functionality. The most widely used of these is the User Interface Process Application Block, which is released by the Microsoft *patterns & practices* group as a free download that includes the source code for quick start examples.

## History and future

Just like AWT, the equivalent Java API, Windows Forms was an early and easy way to provide GUI components to the .NET Framework. Windows Forms is built upon the existing Windows API and some controls merely wrap underlying Windows components.

The Windows Presentation Foundation addresses these problems by providing a much more platform-independent way of designing graphical user interfaces. Windows Forms has been in effect superseded by WPF (and its associated GUI declarative language called XAML). Since WPF is relatively new, it is unclear if Windows Forms will continue to be improved in future .NET releases.

## Architecture

A *Windows Forms application* is an event-driven application supported by Microsoft's .NET Framework. Unlike a batch program, it spends most of its time simply waiting for the user to do something, such as fill in a text box or click a button.

## Alternative implementation

Mono is a project led by Novell (formerly by Ximian) to create an Ecma standard compliant .NET compatible set of tools.

As of 13 May 2008, Mono's System.Windows.Forms 2.0 is API complete (contains 100% of classes, methods etc. in Microsoft's System.Windows.Forms 2.0); also System.Windows.Forms 2.0 works natively on Mac OS X.

## See also

* Microsoft Visual Studio
* ClickOnce
* Abstract Window Toolkit (AWT), the equivalent GUI application programming interface (API) for the Java programming language
* VCL - Borland's Visual Component Library
* Visual Test - Test Automation

## References

1. ↑ Smith, Josh (2007-09-05). "WPF vs. Windows Forms". http://joshsmithonwpf.wordpress.com/2007/09/05/wpf-vs-windows-forms/. Retrieved 2008-07-26.
2. ↑ Harsh, Mike (2004-09-20). "WPF vs. Windows Forms". http://blogs.msdn.com/mharsh/archive/2004/09/20/231888.aspx. Retrieved 2008-07-26. "*If you’re targeting only Windows XP and Longhorn, Avalon is the way to go. But Windows Forms is still the only way to write managed UI that will run on Win 2K and below*"
3. ↑ Chand, Mahesh (2008-05-08). "Future of Windows Forms and ASP.NET". http://www.longhorncorner.com/Blogs/BlogDetail.aspx?BlogId=660. Retrieved 2008-07-26.

## External links

* MSDN: Building Windows Forms applications
* MSDN : Windows.Forms reference documentation
* MSDN : Windows Forms Technical Articles - Automating Windows Form with Visual Test
* Official community site

1. REDIRECT Template:.NET

Template:Widget toolkits

de:Windows Forms
fr:Windows Forms
id:Windows Forms
it:Windows Forms
ja:Windows Forms
ru:Windows Forms
zh:Windows Forms