Skip to content

Add what's new .NET 10 Preview 1 #2006

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Feb 19, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .openpublishing.redirection.winforms.json
Original file line number Diff line number Diff line change
Expand Up @@ -492,10 +492,6 @@
"source_path": "dotnet-desktop-guide/framework/winforms/data/how-to-synchronize-multiple-controls.md",
"redirect_url": "/dotnet/desktop/winforms/multiple-controls-bound-to-data-source-synchronized?view=netframeworkdesktop-4.8"
},
{
"source_path": "dotnet-desktop-guide/net/winforms/whats-new/index.md",
"redirect_url": "/dotnet/desktop/winforms/whats-new/net90?view=netdesktop-9.0"
},
{
"source_path": "dotnet-desktop-guide/net/winforms/controls-design/index.md",
"redirect_url": "/dotnet/desktop/winforms/controls-design/overview?view=netdesktop-9.0"
Expand Down
4 changes: 4 additions & 0 deletions dotnet-desktop-guide/net/winforms/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ items:
href: index.yml
- name: What's new
items:
- name: Overview
href: whats-new/index.md
- name: What's new in .NET 10 Preview
href: whats-new/net100.md
- name: What's new in .NET 9.0
href: whats-new/net90.md
- name: What's new in .NET 8.0
Expand Down
73 changes: 73 additions & 0 deletions dotnet-desktop-guide/net/winforms/whats-new/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: What's new in Windows Forms
description: Learn about what's new in Windows Forms. This article covers changes to Windows Forms since .NET 5 was released.
ms.date: 02/13/2025
ms.topic: conceptual
ai-usage: ai-assisted
---

# What's new in Windows Forms

Each .NET release introduces a new version of Windows Forms (WinForms). This article gives you a summery of what's new in each release.

## .NET 10 Preview

This section describes the main changes to WinForms for each .NET 10 Preview.

- .NET 10 Preview 1
- [Clipboard changes](net100.md#preview-1)

## .NET 9

WinForms in .NET 9 introduces several modern improvements. The asynchronous forms functionality provides APIs to help run UI-related operations asynchronously, making it easier to integrate with contemporary asynchronous programming patterns. The removal of BinaryFormatter eliminates a long-standing security risk by preventing unsafe deserialization practices. Additionally, experimental dark mode support has been added, allowing applications to adapt their color schemes to better suit dark environments.

- [Async forms](net90.md#async-forms)
- [BinaryFormatter no longer supported](net90.md#binaryformatter-no-longer-supported)
- [Dark mode](net90.md#dark-mode)
- [FolderBrowserDialog enhancements](net90.md#folderbrowserdialog-enhancements)
- [System.Drawing new features and enhancements](net90.md#systemdrawing-new-features-and-enhancements)
- [ToolStrip](net90.md#toolstrip)

## .NET 8

In .NET 8, Windows Forms has again enhanced DPI support, notably through Visual Studio DPI improvements. This enhancement allows the Windows Designer to run in a DPI-unaware mode independently from Visual Studio, ensuring that your app’s design remains sharp while Visual Studio itself stays at its native DPI setting. Another key focus area was data binding improvements and button commands.

- [Data binding improvements](net80.md#data-binding-improvements)
- [Button commands](net80.md#button-commands)
- [Visual Studio DPI improvements](net80.md#visual-studio-dpi-improvements)
- [High DPI improvements](net80.md#high-dpi-improvements)
- [Miscellaneous improvements](net80.md#miscellaneous-improvements)

## .NET 7

In .NET 7, significant improvements have been made to High DPI rendering. These enhancements ensure that nested controls, such as buttons within panels on tab pages, scale correctly according to the current monitor's DPI settings. This feature, which is opt-in for .NET 7, will be enabled by default in .NET 8.

- [Overview of WinForms on .NET 7](net70.md)
- [High DPI improvements](net70.md#high-dpi-improvements)
- [Accessibility improvements and fixes](net70.md#accessibility-improvements-and-fixes)
- [Data binding improvements (preview)](net70.md#data-binding-improvements-preview)
- [Miscellaneous improvements](net70.md#miscellaneous-improvements)
- [See also](net70.md#see-also)

## .NET 6

The focus of .NET 5 for WinForms included updated templates for C# that use global directives, file-scoped namespaces, and nullable reference types. A new application bootstrap was introduced, which simplifies the configuration of Windows Forms applications by using the `ApplicationConfiguration.Initialize` method.

- [Overview of WinForms on .NET 6](net60.md)
- [Updated templates for C#](net60.md#updated-templates-for-c)
- [New application bootstrap](net60.md#new-application-bootstrap)
- [Change the default font](net60.md#change-the-default-font)
- [Visual Studio designer improvements](net60.md#visual-studio-designer-improvements)
- [High DPI improvements for PerMonitorV2](net60.md#high-dpi-improvements-for-permonitorv2)
- [New APIs](net60.md#new-apis)
- [Updated APIs](net60.md#updated-apis)
- [Improved accessibility](net60.md#improved-accessibility)

## .NET 5

The focus of .NET 5 for WinForms was to introduce enhanced features, new controls, and improved existing controls.

- [Overview of WinForms on .NET 5](net50.md)
- [Enhanced features](net50.md#enhanced-features)
- [New controls](net50.md#new-controls)
- [Enhanced controls](net50.md#enhanced-controls)
21 changes: 21 additions & 0 deletions dotnet-desktop-guide/net/winforms/whats-new/net100.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: What's new in WinForms for .NET 10 Preview
description: Learn about what's new in Windows Forms for .NET 10 Preview. New versions of Windows Forms are released yearly with .NET.
ms.topic: whats-new
ms.date: 02/13/2025
#customer intent: As a developer, I want to know what's changed so that I can remain up-to-date.
---

# What's new in Windows Forms for .NET 10 Preview

This article describes what's new in Windows Forms for .NET 10 Preview 1.

## Preview 1

.NET 10 Preview 1 was released on February 20, 2025.

The main improvement in WinForms for .NET 10 Preview 1 was changes to clipboard serialization and deserialization.

### Clipboard changes

.NET 9 obsoleted `BinaryFormatter`, which is used in some clipboard operations. These clipboard operations required you to opt in to compatibility package, or work around the operation. To ease the pain of moving away from `BinaryFormatter`, .NET 10 is obsoleting certain clipboard methods to indicate that they shouldn't be used. More methods are being added to help JSON serialization with clipboard data, circumventing the need for `BinaryFormatter`.
2 changes: 2 additions & 0 deletions dotnet-desktop-guide/net/wpf/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ items:
items:
- name: Overview
href: whats-new/index.md
- name: What's new in .NET 10 Preview
href: whats-new/net100.md
- name: What's new in .NET 9
href: whats-new/net90.md
- name: What's new in .NET 8
Expand Down
8 changes: 8 additions & 0 deletions dotnet-desktop-guide/net/wpf/whats-new/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ ms.topic: conceptual

Each .NET release introduces a new version of Windows Presentation Foundation (WPF). This article teaches you what's new in each release.

## .NET 10 Preview

This section describes the main changes to WPF for each .NET 10 Preview.

- .NET 10 Preview 1
- [4000+ unit tests for `System.XAML` and `WindowsBase`](net100.md#preview-1)
- [Fluent theme fixes](net100.md#preview-1)

## .NET 9

More support for building modern apps with WPF with several theming enhancements:
Expand Down
24 changes: 24 additions & 0 deletions dotnet-desktop-guide/net/wpf/whats-new/net100.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: What's new in WPF for .NET 10 Preview
description: Learn about what's new in Windows Presentation Foundation (WPF) for .NET 10 Preview. New versions of WPF are released yearly with .NET.
ms.topic: whats-new
ms.date: 02/13/2025
#customer intent: As a developer, I want to know what's changed so that I can remain up-to-date.
---

# What's new in WPF for .NET 10 Preview

This article describes what's new in Windows Presentation Foundation (WPF) for .NET 10 Preview.

## Preview 1

.NET 10 Preview 1 was released on February 20, 2025.

For WPF, .NET 10 only included a few minor patches and bug fixes. Key areas are:

- Over 4,000 unit tests for `System.Xaml` and `WindowsBase` added.
- Fluent Theme issue fixes, including a **HighContrast** crash.
- Cleanup of CAS (Code Access Security) attributes.
- Remove unused CAS resource strings and its translations from all libraries.
- Remove unused CAS and XBAP code from `OleCmdHelper/ISecureCommand`.
- Remove unused CAS code from `FontSourceCollection/FontSource`.
7 changes: 0 additions & 7 deletions redirects_generator/definitions.winforms.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,6 @@
"SourceUrl": "/dotnet/desktop/winforms/controls-design/extend-existing?view=netdesktop-9.0",
"TargetUrl": "/dotnet/desktop/winforms/controls-design/how-to-extend-existing?view=netdesktop-9.0"
},

// Index mappings
{
"Redirect": "Normal",
"SourceUrl": "/dotnet/desktop/winforms/whats-new/index?view=netdesktop-9.0",
"TargetUrl": "/dotnet/desktop/winforms/whats-new/net90?view=netdesktop-9.0"
},
{
"Redirect": "Normal",
"SourceUrl": "/dotnet/desktop/winforms/controls-design/index?view=netdesktop-9.0",
Expand Down
Loading