Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

* Add cleaner theory data helpers

For some common theory data (such as valid and invalid enum values) the current pattern is really unwieldly. I've added specific attributes for the "common" test data to make discovery and test writing easier.

Also moved some types down to the common test utility assembly. Intent is to make functionality availalble to all test projects, including the newly arrived System.Drawing.

I'll be iterating some more here.

* Didn't mean to include this template yet.

* Fix typo and remove invalid enum options from test

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Windows Forms

License: MIT

Windows Forms (WinForms) is a UI framework for building Windows desktop applications. It is a .NET wrapper over Windows user interface libraries, such as User32 and GDI+. It also offers controls and other functionality that is unique to Windows Forms.

Windows Forms also provides one of the most productive ways to create desktop applications based on the visual designer provided in Visual Studio. It enables drag-and-drop of visual controls and other similar functionality that make it easy to build desktop applications.

Windows Forms Designer

For more information about the designer, please see the Windows Forms Designer Documentation.

Relationship to .NET Framework

This codebase is a fork of the Windows Forms code in the .NET Framework 4.8. In Windows Forms .NET Core 3.0, we've strived to bring the two runtimes to a parity. However since then, we've done a number of changes, including breaking changes, which diverged the two. For more information about breaking changes, see the Porting guide.

Please note

⚠️ This repository contains only implementations for Windows Forms for .NET platform.
It does not contain either:

  • The .NET Framework variant of Windows Forms. Issues with .NET Framework, including Windows Forms, should be filed on the Developer Community or Product Support websites. They should not be filed on this repository.
  • The Windows Forms Designer implementations. Issues with the Designer should be filed via VS Feedback tool (top right-hand side icon in Visual Studio).

How can I contribute?

We welcome contributions! Many people all over the world have helped make this project better.

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.

Reporting security issues

Security issues and bugs should be reported privately via email to the Microsoft Security Response Center (MSRC) 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.

Code of Conduct

This project uses the .NET Foundation Code of Conduct to define expected conduct in our community. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting a project maintainer at


.NET (including the Windows Forms repository) is licensed under the MIT license.

.NET Foundation

.NET Windows Forms is a .NET Foundation project.
See the .NET home repository to find other .NET-related projects.