Skip to content

awesomedotnetcore/winforms

Repository files navigation

Windows Forms

Build status

Windows Forms (WinForms) is a framework for building rich Windows desktop applications using .NET. Since it leverages a what-you-see-is-what-you-get (WYSIWYG) graphical editor with drag & drop, it's also one of the easiest and most productive ways to create desktop applications.

This repo contains the open-source components of WinForms that run on top of .NET Core. It is based on, but separate from, the version of WinForms that is part of the .NET Framework.

We haven't finished porting WinForms to .NET Core yet, which means not all source code is on GitHub. You can expect us to complete this over the next months in 2019. The reason it takes some time is that we need to support & build all the pieces in an open source way, which requires decoupling the code base from our internal engineering system. At the same time, we don't want to block open sourcing until the port is complete. This is similar to how other .NET Core repos with existing code have been brought up, such as CoreFx in 2014.

Even though .NET Core is a cross-platform technology, WinForms only runs on Windows.

What are the benefits of building WinForms apps with .NET Core?

There are three primary reasons for considering .NET Core over the .NET Framework for building desktop apps with WinForms:

  1. More deployment options. You can deploy .NET Core side-by-side or even produce self-contained apps that you can just XCOPY deploy.

  2. Contains features that we can't provide in .NET Framework. Due to the fact that .NET Framework is deployed as an in-place update, the compatibility requirements are extremely high, which prevents us from making fundamental changes, such as performance improvements or making the UI more high-DPI aware by default.

  3. .NET Core goodness. As an open source platform with side-by-side deployment, .NET Core is receiving a lot of innovations and contributions from Microsoft teams and from the open source community. As an application author, you also benefit from those when building WinForms apps with .NET Core.

To learn more, read the blog post Update on .NET Core 3.0 and .NET Framework 4.8.

Quick Links

Getting started with WinForms on .NET Core

Follow getting started instructions.

How to Engage, Contribute and Provide Feedback

Some of the best ways to contribute are to try things out, file bugs, join in design conversations, and fix issues.

IMPORTANT: WinForms for .NET Core 3.0 release focuses on parity with WinForms for .NET Framework. We do not plan to take contributions or address bugs that are not unique to WinForms on .NET Core in 3.0 release. Bugs which are present on both WinForms platforms (for .NET Core and .NET Framework) will be prioritized for future releases of .NET Core (post-3.0).

Issue Guide

Read our detailed issue guide which covers:

  • How to file high-quality bug reports
  • How to use and understand Labels, Milestones, Assignees and Upvotes on issues
  • How to escalate (accidentally) neglected issue or PR
  • How we triage issues

For general .NET Core 3 issues (not specific to WinForms), use the .NET Core repo or other repos if appropriate (e.g. CoreFX, WPF).

Contributing Guide

Read our detailed contributing guide which covers:

  • Which kind of PRs we accept/reject for .NET Core 3.0 release
  • Coding style
  • PR style preferences (squashing vs. merging, etc.)
  • Developer guide for building and testing locally

Community

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.

Reporting security issues and security bugs

Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) [email protected]. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.

Also see info about related Microsoft .NET Core and ASP.NET Core Bug Bounty Program.

License

.NET Core (including WinForms repo) is licensed under the MIT license.

.NET Foundation

.NET Core WinForms is a .NET Foundation project.

There are many .NET related projects on GitHub.

  • .NET home repo - links to 100s of .NET projects, from Microsoft and the community.

About

This repo contains Windows Forms for .NET Core.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 99.6%
  • Other 0.4%