.NET Desktop Development
Build rich, native client applications for Windows and beyond.
Welcome to .NET Desktop Development
.NET provides a comprehensive set of tools and frameworks for building modern, high-performance desktop applications. Whether you're creating traditional Windows applications, modern UWP apps, or cross-platform solutions with .NET MAUI, .NET offers the power, flexibility, and developer productivity you need.
This documentation suite covers the primary technologies available for desktop development within the .NET ecosystem, helping you choose the right framework for your project and master its capabilities.
Key Technologies
- Windows Forms (WinForms): The classic and robust framework for building native Windows desktop applications with a drag-and-drop designer. Ideal for rapid development of line-of-business applications. Learn more about WinForms
- Windows Presentation Foundation (WPF): A powerful and flexible UI framework for building visually stunning and highly interactive desktop applications. WPF leverages XAML for declarative UI design and provides advanced graphics and media capabilities. Learn more about WPF
- Universal Windows Platform (UWP): Enables you to build modern, immersive applications that run across all Windows 10 and Windows 11 devices, from desktops and laptops to tablets and Xbox. Learn more about UWP
- .NET MAUI (Multi-platform App UI): The evolution of Xamarin.Forms, .NET MAUI allows you to build native applications for Windows, macOS, iOS, and Android from a single shared C# codebase. Learn more about .NET MAUI
Getting Started
To begin your journey into .NET desktop development, ensure you have the latest .NET SDK installed. Visual Studio is the primary IDE for developing .NET desktop applications, offering powerful design tools, debugging capabilities, and project templates.
You can download the .NET SDK and Visual Studio from the official .NET website. Explore the specific technology pages linked in the sidebar to find detailed tutorials, API references, and architectural guidance.
Example: A Simple WinForms Application
Here's a glimpse of how you might start a simple "Hello, World!" application using Windows Forms:
using System;
using System.Windows.Forms;
public class HelloWorldForm : Form
{
public HelloWorldForm()
{
this.Text = "Hello World";
this.Size = new System.Drawing.Size(300, 150);
Label label = new Label();
label.Text = "Hello, .NET Desktop!";
label.Location = new System.Drawing.Point(50, 50);
label.AutoSize = true;
this.Controls.Add(label);
}
[STAThread]
public static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new HelloWorldForm());
}
}
Community and Support
The .NET community is vibrant and supportive. You can find valuable resources, ask questions, and connect with other developers on: