Skip to main content
All docs
V25.1

DevExpress v25.1 Update — Your Feedback Matters

Our What's New in v25.1 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

DevExpress AI-powered Extensions for WinForms

  • 8 minutes to read

#Supported AI Clients

  • OpenAI
  • Azure OpenAI
  • Semantic Kernel
  • Ollama (self-hosted models)

#Prerequisites

DevExpress.AIIntegration assemblies reference the following versions of Microsoft.Extensions.AI.* NuGet packages:

Package Name v25.1
Microsoft.Extensions.AI 9.5.0
Microsoft.Extensions.AI.Abstractions 9.5.0
Microsoft.Extensions.AI.OpenAI 9.5.0-preview.1.25265.7

See the following breaking change advisory for more information: DevExpress.AIIntegration references stable versions of Microsoft AI packages.

#Install DevExpress NuGet Packages

Install the following DevExpress NuGet Packages:

  1. DevExpress.AIIntegration.WinForms
  2. DevExpress.AIIntegration.OpenAI (required if you use the WinForms Chat control with OpenAI.Assistant)
  3. DevExpress.Win.Design (enables design-time features for DevExpress UI controls)

#Register AI Clients

DevExpress AI-powered extensions operate within an AIExtensionsContainerDesktop container. This container manages all registered AI clients so that DevExpress UI controls can automatically leverage AI services.

#Register OpenAI Client

The following code snippet registers an OpenAI client:

using Microsoft.Extensions.AI;
using DevExpress.AIIntegration;

internal static class Program {
    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        IChatClient openAIChatClient = new OpenAI.OpenAIClient(OpenAIKey).GetChatClient(Model)
            .AsIChatClient();
        AIExtensionsContainerDesktop.Default.RegisterChatClient(openAIChatClient);
        // Uncomment the following line if your project targets the .NET Framework and
        // you create AI-powered behaviors in code.
        // DevExpress.AIIntegration.WinForms.BehaviorInitializer.Initialize();
        Application.Run(new Form1());
    }
    static string OpenAIKey { get { return Environment.GetEnvironmentVariable("OPENAI_API_KEY"); } }
    static string Model { get { return "gpt-4o-mini"; } }
}

#Register Azure OpenAI Client

The following code snippet registers an Azure OpenAI client:

using Microsoft.Extensions.AI;
using DevExpress.AIIntegration;

internal static class Program {
    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        IChatClient azureChatClient = new Azure.AI.OpenAI.AzureOpenAIClient(new Uri(AzureOpenAIEndpoint),
        new System.ClientModel.ApiKeyCredential(AzureOpenAIKey))
        .GetChatClient(ModelId).AsIChatClient();

        AIExtensionsContainerDesktop.Default.RegisterChatClient(azureChatClient);
        // Uncomment the following line if your project targets the .NET Framework and
        // you create AI-powered behaviors in code.
        // DevExpress.AIIntegration.WinForms.BehaviorInitializer.Initialize();
        Application.Run(new Form1());
    }
    static string AzureOpenAIEndpoint { get { return Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT"); } }
    static string AzureOpenAIKey { get { return Environment.GetEnvironmentVariable("AZURE_OPENAI_APIKEY"); } }
    static string ModelId { get { return "gpt-4o-mini"; } }
}

#Register Semantic Kernel

Install the connector package for the AI service. This example uses Microsoft.SemanticKernel.Connectors.Google.

using Microsoft.Extensions.AI;
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.ChatCompletion;
using Microsoft.SemanticKernel.Connectors.Google;
using DevExpress.AIIntegration;

internal static class Program {
    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        var builder = Kernel.CreateBuilder().AddGoogleAIGeminiChatCompletion("YOUR_MODEL_ID", "YOUR_API_KEY", GoogleAIVersion.V1_Beta);
        Kernel kernel = builder.Build();
        IChatClient googleChatClient = kernel.GetRequiredService<IChatCompletionService>().AsChatClient();
        AIExtensionsContainerDesktop.Default.RegisterChatClient(googleChatClient);
        // Uncomment the following line if your project targets the .NET Framework and
        // you create AI-powered behaviors in code.
        // DevExpress.AIIntegration.WinForms.BehaviorInitializer.Initialize();
        Application.Run(new Form1());
    }
}

#Register Ollama Client

The following code snippet registers an Ollama client:

using OllamaSharp;
using Microsoft.Extensions.AI;
using DevExpress.AIIntegration;

internal static class Program {
    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        IChatClient asChatClient = new OllamaApiClient(new Uri("http://localhost:11434/"), "MODEL_NAME");
        AIExtensionsContainerDesktop.Default.RegisterChatClient(asChatClient);
        // Uncomment the following line if your project targets the .NET Framework and
        // you create AI-powered behaviors in code.
        // DevExpress.AIIntegration.WinForms.BehaviorInitializer.Initialize();
        Application.Run(new Form1());
    }
}

#AI-powered Extensions

#AI Assistant (Text Transform)

AI Assistant extensions allow you to enhance the way your users interact with and manage text content with AI-powered precision. These extensions leverage advanced natural language processing (NLP) technologies to provide automated, intelligent text manipulation capabilities directly within your Windows Forms applications.

WinForms MemoEdit with AI-powered Options, DevExpress

Run Demo

AI-powered options include:

  • Change Style
  • Change Tone
  • Expand
  • Explain
  • Proofread
  • Shorten
  • Summarize
  • Translate
  • Ask AI Assistant (allows users to interact with an AI-powered assistant directly within your application)

Applies to:

See the following help topic for additional information: AI Assistant Extensions.

#Explain Formula

The AI-powered “Explain Formula” extension generates a detailed explanation of the formula used in a worksheet cell in the DevExpress Spreadsheet control.

Explain Formula - WinForms Spreadsheet, DevExpress

Run Demo

See the following help topic for additional information: Explain Formula.

#Generate Image Description

The AI-powered “Generate Image Description” extension generates the description for the image in DevExpress WinForms Spreadsheet and Rich Text Edit controls.

Play the following animation to see how the AI-powered “Generate Image Description” extension in a WinForms Rich Text Editor generates Alt text for an image:

AI-powered Generate Image Description Behavior - WinForms Rich Text Editor, DevExpress

Run Demo

See the following help topic for additional information: Generate Image Description.

#Smart Autocomplete

The AI-powered “Smart Autocomplete” feature intelligently predicts and suggests words or phrases based on the user’s current input. As you type, the AI model analyzes the context of the text and makes relevant suggestions in real time.

Run Demo

Applies to:

MemoEdit

See the following help topic for additional information: Smart Autocomplete.

#Smart Paste

“SmartPaste” is an AI-powered feature that transforms the traditional copy-and-paste process into a smarter, more efficient tool. Designed to improve productivity, SmartPaste analyzes the content you copy and intelligently assigns the right values to the appropriate fields or row cells in the DevExpress Data Grid and LayoutControl-driven forms.

Play the following animation to see how “SmartPaste” works:

AI-powered Smart Paste Extension for WinForms | DevExpress

Run Demo

Applies to:

See the following help topic for additional information: Smart Paste.

“Smart Search” works alongside the traditional search algorithms to offer a more powerful and user-friendly search experience. It offers results that are more aligned with what the user is seeking, even if the input contains misspellings.

Play the following animation to see how AI-powered smart search works in the DevExpress WinForms Ribbon control:

Smart Search - WinForms Ribbon Control, DevExpress

Run Demo

Applies to:

See the following help topic for additional information: Smart Search.

Semantic search enables users to locate relevant data quickly and accurately within large datasets. Unlike standard keyword-based search, semantic search leverages Natural Language Processing (NLP) to analyze search queries beyond exact keyword matching.

Semantic search uses an embedding generator to convert text into numerical vector representations. Vectors are stored in a vector database. When a user enters a search query, the search engine computes similarity scores between the query vector and stored data vectors to return the most relevant results.

AI-driven Semantic Search - WinForms Data Grid, DevExpress

Run Demo: Semantic Search - Grid Control

Applies to:

See the following help topic for additional information: Semantic Search.

#Custom Extensions

You can create custom extensions based on DevExpress AI-powered extensions. See the following help topic for additional information and examples: Create Custom AI-powered Extensions.

Custom AI-powered Extension - WinForms Rich Text Editor, DevExpress

Run Demo

#AI Chat Control

Note

The AI Chat Control leverages BlazorWebView to reuse the DevExpress Blazor AI Chat component (DxAIChat). To use the WinForms AI Chat Control you must have one of the following active subscriptions: Universal, DXperience, ASP.NET & Blazor.

The AI Chat Control (AIChatControl) allows you to incorporate an interactive, Copilot-inspired chat-based UI within your WinForms application. The DevExpress AI Chat Control (AIChatControl) can only be used in Windows Forms applications that target the .NET 8+ framework.

WinForms AI Chat Control, DevExpress

Features include:

  • Integrate seamlessly with AI services
  • Render Markdown messages
  • Copy and regenerate responses
  • Manually handle chat messages
  • Create an Assistant that chats based on your data
  • Save and load chat history
  • Response streaming
  • DevExpress Skins

See the following help topic for additional information: AI Chat Control.

#See Also