Create a DevExpress-powered .NET App for WinForms with Design-Time Support
- 4 minutes to read
DevExpress Project Templates
Use the DevExpress Project Template Gallery to quickly create DevExpress-powered projects that target .NET 8+. The Project Template Gallery ships as part of the DevExpress Unified Component Installer and is integrated into Visual Studio after DevExpress controls are installed.
Follow the steps below to create a DevExpress-powered .NET application for WinForms:
Create a new DevExpress-powered WinForms project:
In the .NET tab, select the application template and .NET version (target framework):
Tip
- The DevExpress project template adds the
DevExpress.Win.Design
NuGet package to Package References in the project file (*.csproj) to enhance the design-time experience in Visual Studio for DevExpress-powered WinForms applications. The Unified Component Installer creates a local NuGet feed with DevExpress .NET packages and registers this feed in your Visual Studio IDE as a package source. - Install the
DevExpress.Win
NuGet package if you do not need design-time customization/features.
Add DevExpress Controls to an Existing .NET App for WinForms
- In the Solution Explorer, right-click the project and select Manage NuGet Packages from the drop-down menu.
Select the DevExpress package source (you can add DevExpress packages from a local or remote/online feed):
Follow the steps below to add DevExpress NuGet packages to an existing .NET project from a remote feed:
- Obtain your NuGet Feed URL. You need to be logged in as a registered DevExpress customer and have an active WinForms, DXperience, or Universal subscription.
- Register the online NuGet Feed as a package source.
Note
Install the
DevExpress.Win
package if you do not need design-time features.Open project properties. Ensure that the Target OS setting is set to
Windows
.<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net8.0-windows</TargetFramework> <!-- CHECK THIS LINE --> <UseWindowsForms>true</UseWindowsForms> </PropertyGroup> </Project>
Install required DevExpress NuGet packages with or without design-time support. The following two techniques enable customization of all or specific DevExpress WinForms UI controls in the Visual Studio designer. This includes grid designers, property editors, and other design-time enhancements that streamline the development process when working with DevExpress UI controls.
Install a Unified NuGet Package with Design-Time Support
Install the DevExpress.Win.Design NuGet package if you want to use most UI controls that ship as part of the DevExpress WinForms UI Library.
The advantage of this technique is that by adding a single NuGet package, you gain access to all DevExpress UI controls in your project. However, while the
DevExpress.Win.Design
package greatly enhances the design-time experience, its size may affect the initial load time of a Form in the Visual Studio designer.Install Atomic (Control-Specific) NuGet Packages with Design-Time Support
If you only need a few DevExpress UI controls, consider installing lightweight, control-specific DevExpress.Win.XXX packages. This technique can improve the initial load time of a Form in the Visual Studio designer by up to 15-20% compared to using the
DevExpress.Win.Design
package.Available DevExpress NuGet packages include:
- DevExpress.Win.Diagram
- DevExpress.Win.Dialogs
- DevExpress.Win.Gantt
- DevExpress.Win.Gauges
- DevExpress.Win.Grid
- DevExpress.Win.Map
- DevExpress.Win.PdfViewer
- DevExpress.Win.PivotGrid
- DevExpress.Win.RichEdit
- DevExpress.Win.Charts
- DevExpress.Win.Dashboard
- DevExpress.Win.SpellChecker
- DevExpress.Win.Spreadsheet
- DevExpress.Win.TreeList
- DevExpress.Win.TreeMap
- DevExpress.Win.VerticalGrid
- DevExpress.DataAccess.UI (should be used instead of DevExpress.Xpo and DevExpress.DataAccess)
- DevExpress.Win.Navigation (should be used instead of DevExpress.Data and DevExpress.Utils)
- DevExpress.Win.Reporting (should be used instead of DevExpress.Win.Printing)
- DevExpress.Win.SchedulerExtensions (should be used instead of DevExpress.Win.Scheduler and DevExpress.Win.SchedulerReporting)
Note
Packages listed in parentheses do not offer design time for associated components.
Install Runtime Packages without Design-Time Support
Install the DevExpress.Win NuGet package if you do not need design-time customization/features. This technique is suitable for those who prefer to create and customize UI controls in code or manually modify form designer files (for example, if you develop apps in JetBrains Rider or VS Code).
Note
This technique is suitable for projects that do not require extensive visual designer customization (advanced knowledge of DevExpress WinForms APIs is required).
- Build the project.