Content deleted Content added
Citation bot (talk | contribs) Added isbn. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Wikipedia articles in need of updating from January 2023 | #UCB_Category 161/816 |
Artoria2e5 (talk | contribs) →Alternative implementation: libgdi+ |
||
(4 intermediate revisions by 4 users not shown) | |||
Line 22:
| website = {{URL|https://learn.microsoft.com/en-us/dotnet/desktop/winforms/}}
}}
'''Windows Forms''', also known as
At the [[Microsoft Connect]] event on December 4, 2018, [[Microsoft]] announced releasing Windows Forms as an open source project 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 | date=4 December 2018|access-date=2018-12-06 }}</ref><ref name="OpenSourcingGuiHanselman">{{cite web |url=https://www.hanselman.com/blog/AnnouncingWPFWinFormsAndWinUIAreGoingOpenSource.aspx | title=Announcing WPF, WinForms, and WinUI are going Open Source | last=Hanselman | first=Scott | date=4 December 2018|access-date=2018-12-06 }}</ref>
Line 85:
==XAML backwards compatibility with Windows Forms==
For future development, Microsoft has succeeded Windows Forms with
While XAML provides drag and drop placement backwards compatibility through the Canvas Control, XAML Controls are only similar to Windows Forms Controls and are not one-to-one backwards compatible. They perform similar functions and have a similar appearance, but the properties and methods are different enough to require remapping from one API to another.
== Alternative implementation ==
[[Mono (software)|Mono]] is a project led by [[Xamarin]] (formerly by [[Ximian]], then [[Novell]]) to create an [[Ecma International|Ecma]] standard compliant [[.NET Framework]] compatible set of tools. In 2011, [[Mono (software)|Mono]]'s support for System.Windows.Forms as of [[.NET Framework version history#.NET Framework 2.0|.NET 2.0]] was announced as complete;<ref>{{cite web
| url=http://www.mono-project.com/WinForms
| title= WinForms
Line 113 ⟶ 111:
|access-date=2011-07-30
|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"/> Mono's WinForms implementation is based on Mono's libgdiplus, which implements [[GDI+]] on top of [[Gtk]] and [[Pango]].<ref>{{cite web |title=Mono / libgdiplus · GitLab |url=https://gitlab.winehq.org/mono/libgdiplus |website=GitLab |language=en}}</ref>
A more significant problem is that, since version 5.2,<ref>{{cite web
|url=https://www.mono-project.com/docs/about-mono/supported-platforms/macos/
|