Content deleted Content added
m More representative link text. More consistent naming. |
m Task 18 (cosmetic): eval 24 templates: del empty params (6×); hyphenate params (12×); |
||
Line 20:
'''Windows Forms''' (WinForms) is a [[free and open-source]] [[graphical user interface|graphical]] (GUI) [[Library (computing)|class library]] included as a part of [[Microsoft]] [[.NET Framework]] or [[Mono Framework]],<ref>{{cite book|title=Windows Forms Programming in C#|last=Sells|first=Chris|publisher=Addison-Wesley Professional|edition=1st|date=September 6, 2003|page=xxxviiii}}</ref> providing a platform to write rich client applications for desktop, laptop, and tablet PCs.<ref>{{cite web|url=https://msdn.microsoft.com/en-us/library/ff647339.aspx|title=Design and Implementation Guidelines for Web Clients by Microsoft Pattern and Practices|publisher=Microsoft|date=November 2003}}</ref> While it is seen as a replacement for the earlier and more complex [[C++]] based [[Microsoft Foundation Class Library]], it does not offer a comparable paradigm<ref>{{cite book|chapter=Appendix B|title=Moving from MFC, Windows Forms 2.0 Programming|last1=Sells|first1=Chris|last2=Weinhardt|first2=Michael|publisher=Addison-Wesley Professional|edition=2nd|date=May 16, 2006}}</ref> and only acts as a platform for the user interface tier in a [[Multitier architecture|multi-tier]] solution.<ref>{{cite web|title=Introduction to Windows Forms|type=Visual Studio 2003 documentation|publisher=Microsoft 2003|url=https://msdn.microsoft.com/en-us/library/aa983655(v=vs.71).aspx}}</ref>
At the [[Microsoft Connect]] event on December 4, 2018, [[Microsoft]] announced releasing Windows Forms as an open source project [https://github.com/dotnet/winforms on GitHub]. It is released under the [[MIT License]]. With this release, Windows Forms has become available for projects targeting the [[.NET Core]] framework. However, the framework is still available only on the Windows platform, and [[Mono Framework|Mono's]] incomplete implementation of Windows Forms remains the only cross-platform implementation.<ref name="OpenSourcingGuiMartin">{{cite web |url=https://www.infoq.com/news/2018/12/msft-open-source-wpf-winforms | title=Microsoft Open Sources WPF, WinForms, and WinUI | last=Martin | first=Jeff | work=InfoQ
== Architecture ==
Line 45:
With the release of .NET 3.0, Microsoft released a second, parallel API for rendering GUIs: [[Windows Presentation Foundation]] (WPF) based on DirectX,<ref>{{cite book|section=DirectX, not GDI+|title=Pro WPF and Silverlight MVVM: Effective Application Development with Model|last=Hall|first=Gary|publisher=Apress|edition=2010|date=December 27, 2010|page=2}}</ref> together with a GUI declarative language called [[Extensible Application Markup Language|XAML]].<ref>{{cite web
|
| last = Smith
| first = Josh
Line 57:
| first=Josh|last=Smith
| date=2007-09-05
|
| url=http://blogs.msdn.com/mharsh/archive/2004/09/20/231888.aspx
| title= WPF vs. Windows Forms
Line 63:
| quote=''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''
| date=2004-09-20
|
| url=http://www.longhorncorner.com/Blogs/BlogDetail.aspx?BlogId=660
| title= Future of Windows Forms and ASP.NET
| first=Mahesh|last=Chand
| date=2008-05-08
|
During a question-and-answer session at the [[Build (developer conference)|Build 2014]] Conference, Microsoft explained that Windows Forms was under maintenance mode, with no new features being added, but bugs found would still be fixed.<ref>{{cite web
Line 76:
| date=2014-04-03
| quote=''Windows Forms is continuing to be supported, but in maintenance mode. They will fix bugs as they are discovered, but new functionality is off the table''
|
==XAML backwards compatibility with Windows Forms==
Line 91:
| publisher=mono-project.com
| quote=''Support for Windows Forms 2.0 is complete. At this point, we are largely just fixing bugs and polishing our code. ''
|
System.Windows.Forms 2.0 works natively on Mac OS X.<ref>{{cite web
| url=http://www.mono-project.com/FAQ:_Winforms
Line 97:
| publisher=mono-project.com
| quote=''Does Winforms run on OSX? Yes, as of Mono 1.9, Winforms has a native OSX driver that it uses by default''
|
However, System.Windows.Forms has not been actively developed on Mono.<ref>{{cite web
|url=http://tirania.org/blog/archive/2011/Mar-07.html
Line 103:
| last=de Icaza
| first=Miguel
|
|date=2011-03-07
|
|quote=''For tools that are mostly OpenGL/DirectX based, use Windows.Forms, keeping in mind that some bug fixing or work around on their part might be needed as our Windows.Forms is not actively developed.''}}</ref>
Full compatibility with .NET was not possible, because Microsoft's System.Windows Forms is mainly a wrapper around the [[Windows API]], and some of the methods allow direct access to Win32 [[Callback (computer programming)|callbacks]], which are not available in platforms other than Windows.<ref name="monofaq-winform"/>
Line 112:
| title=Introduction to Mono on macOS
| publisher=mono-project.com
|
}}</ref>
Mono has been upgraded so that its default is to assume a 64 bit platform.
Line 120:
| last=Martin
| first=Jess
|
}}</ref>
As of this date, a 64-bit version of System.Windows.Forms for use on Mac OS X remains unavailable and only .NET applications built for the 32 bit platform can be expected to execute.
|