05 Jan to 12 Jan 2026: highlights of the new online resources that we published last week.
Article: https://www.telerik.com/products/winforms/documentation/introduction
Summary: This introduction explains what Telerik UI for WinForms includes and which .NET/Windows targets it supports, covering theming, high DPI, localization, RTL, accessibility, and touch. Use it to install the controls from the Telerik NuGet feed or the installer, set up Visual Studio design-time, and navigate to getting started, API reference, and guides for core controls like RadGridView, ChartView, Scheduler, Ribbon, Dock, PDF Viewer, and RichTextEditor, plus theming and upgrade guidance.
Article: https://www.telerik.com/products/winforms/documentation/security/faq
Summary: This Security FAQ explains how Telerik UI for WinForms handles key security topics: assembly/code signing, third‑party dependencies and CVE monitoring, telemetry/data collection, network behavior, and operation under restricted permissions (including FIPS or locked‑down environments). It also details the vulnerability reporting and patching process and provides guidance to help you securely use, configure, and update the controls in your WinForms applications.
Article: https://www.telerik.com/products/winforms/documentation/core/overview
Summary: This overview explains how to use Telerik UI for WinForms with .NET Core and .NET 5/6/7/8 on Windows, including supported runtimes, Visual Studio and Windows Forms Designer requirements, and toolbox integration. You’ll learn how to create or migrate SDK-style WinForms projects, reference the correct .NET-targeted assemblies via NuGet or local binaries, and handle build/deploy specifics, with notes on platform limitations and known issues.
Article: https://www.telerik.com/products/winforms/documentation/knowledge-base
Summary: Use the Telerik UI for WinForms Knowledge Base to find troubleshooting guides, how-to articles, and code examples for common control scenarios such as GridView, data binding, theming, printing, and performance. Search and filter the articles to quickly locate task-focused solutions you can apply directly in your project to fix issues or implement features. Each entry summarizes the problem context and provides the steps or code needed to resolve it.
Article: https://www.telerik.com/products/winforms/documentation/core/design-time
Summary: This article explains design-time support for Telerik UI for WinForms when targeting .NET Core and .NET 5/6/7 in the Visual Studio Windows Forms Designer. You’ll verify prerequisites, install/reference the Telerik assemblies via NuGet, integrate controls into the Toolbox, and use designer features like smart tags, themes, and the Property Grid. It also outlines known limitations of the .NET Core designer and provides troubleshooting guidance.
Article: https://www.telerik.com/products/winforms/documentation/security/overview
Summary: This article explains how to secure applications built with Telerik UI for WinForms and what you are responsible for: ship official strong‑named assemblies, keep the suite updated, run with least privilege, and treat all data bound to controls as untrusted. It outlines best practices for controls that load files or markup (document viewers/editors), including validating and sanitizing input, restricting or disabling external resource loading and hyperlink actions, and avoiding deserialization of untrusted content, and it points you to the product’s vulnerability reporting and support policies.
Article: https://www.telerik.com/products/winforms/documentation/tools/themeviewer
Summary: This article explains how to use the ThemeViewer to preview and validate Telerik UI for WinForms themes across the control suite. You load built-in or custom themes (including ones created with Visual Style Builder), switch between controls and states, and test scenarios like DPI scaling and RightToLeft to catch visual issues before integrating a theme into your application.
Article: https://www.telerik.com/products/winforms/documentation/core/core-migration
Summary: This guide shows you how to migrate a Telerik UI for WinForms app from .NET Framework to .NET (Core/.NET 5+), either by converting the existing project to SDK-style or by creating a new .NET WinForms project and moving your code. You’ll retarget the TFM and replace assembly references with the Telerik .NET packages from the Telerik NuGet feed, then rebuild. It also covers resource/settings handling (resx, app.config via System.Configuration.ConfigurationManager), WinForms designer requirements in Visual Studio, publishing, and common fixes such as adding Microsoft.Windows.Compatibility, resolving missing APIs, licensing considerations, and 32/64-bit differences.
Article: https://www.telerik.com/products/winforms/documentation/controls/clock/clock
Summary: Use RadClock (Telerik UI for WinForms) to show an analog clock and optionally let users pick a time; this article shows how to add the control in the designer or code, set the time via the Value (DateTime) property, and handle ValueChanged. It also details appearance and behavior settings, theming, and embedding RadClock in RadTimePicker.
Article: https://www.telerik.com/products/winforms/documentation/controls/chat/toolbar
Summary: This article shows you how to configure the RadChat toolbar in Telerik UI for WinForms: enable/disable the toolbar, add and arrange toolbar items, and control their visibility. You’ll create toolbar items, handle click events, and customize icons, tooltips, and layout to add actions (for example, attachments or emoji) next to the chat input.
---------------------------------------------------------------------------------------------------------------------------------------------------------
10 Nov to 17 Nov 2025: highlights of the new online resources that we published last week.
Summary: This article explains how to add the Telerik UI for WinForms license key in an add-in project (e.g., VSTO/COM) to avoid runtime licensing errors. It shows where to register the key during add-in startup and how to embed the license file as an Embedded Resource so the license is applied before any Telerik controls are instantiated.
Article: https://docs.telerik.com/devtools/winforms/controls/pdfviewer/features/ai-summarization
Summary: RadPdfViewer for WinForms supports AI summarization of PDF content, allowing you to generate summaries for the entire document or the currently selected text. You configure an OpenAI or Azure OpenAI provider (API key and model), enable the built-in summarization UI/commands, and customize prompt templates to control the output for your use case.
Article: https://docs.telerik.com/devtools/winforms/knowledge-base/calendar-add-custom-space-footer
Summary: Learn how to add a custom footer area to RadCalendar in Telerik UI for WinForms by extending the control and injecting a LightVisualElement into its element tree to reserve space at the bottom. The article shows how to set a fixed height, align the footer, and update layout so the footer persists across theme and view changes, letting you host custom content (labels, buttons) beneath the calendar.
Article: https://docs.telerik.com/devtools/winforms/knowledge-base/chat-intercept-html-links
Summary: This article shows how to intercept and handle HTML anchor links inside Telerik UI for WinForms RadChat messages by using the MessageFormatting event to access the message’s markup text element and subscribing to its LinkClicked/HyperlinkClicked event. It demonstrates capturing the clicked URL and executing custom logic (for example, open in a browser or cancel navigation) so you can control link behavior per message.
Article: https://docs.telerik.com/devtools/winforms/knowledge-base/chat-resize-wrap-text-cardaction
Summary: This article shows how to make RadChat CardAction text wrap in Telerik UI for WinForms when the control is resized. You implement a custom ChatElementFactory that returns a CardAction element with TextWrap enabled and width-aware measuring (e.g., updating MaxSize on SizeChanged), so long labels break across lines and the card layout reflows correctly.
Article: https://docs.telerik.com/devtools/winforms/knowledge-base/datetimepicker-customizing-footer-panel
Summary: This article shows how to customize the footer panel of the popup RadCalendar used by the Telerik WinForms RadDateTimePicker. You’ll access the calendar’s footer element when the drop-down opens, hide or rename the default Today/Clear buttons, add custom RadButtonElements, wire Click handlers to set the picker’s Value, and close the popup programmatically.
Article: https://docs.telerik.com/devtools/winforms/knowledge-base/grid-custom-filtering-self-referencing-hierarchy
Summary: This article shows how to implement custom filtering in Telerik WinForms RadGridView when using a self-referencing hierarchy (Id/ParentId). You will handle GridViewTemplate.CustomFiltering to evaluate matches across levels, keep parent rows visible when any child satisfies the filter (and optionally the reverse), and preserve the hierarchical structure while applying FilterDescriptors.
Article: https://docs.telerik.com/devtools/winforms/knowledge-base/gridview-snap-one-row-per-scroll
Summary: Learn how to make RadGridView (Telerik UI for WinForms) snap the viewport to full rows, scrolling exactly one row per mouse wheel action. The article shows intercepting MouseWheel to suppress the default pixel-based scroll and using TableElement.RowScroller APIs (optionally aligning VScrollBar.SmallChange to the row height) to implement discrete, row-based scrolling.
Article: https://docs.telerik.com/devtools/winforms/controls/navigationview/kb-related-articles
Summary: This page indexes Knowledge Base articles for the Telerik UI for WinForms NavigationView control. Use it to quickly locate how-to and troubleshooting guidance for configuration, customization, data binding, item population, styling, selection, and event handling.
Article: https://docs.telerik.com/devtools/winforms/ai-coding-assistant/mcp-server-as-nuget
Summary: This article shows you how to add and configure the MCP Server as a NuGet package in a Telerik UI for WinForms project to enable the AI Coding Assistant. You install the package, set up your LLM provider (OpenAI or Azure OpenAI), wire up the server and tools, and initialize it in your app so the assistant can access your workspace and files.
Feel free to check them out and share your thoughts!
The Telerik Team

Hi,
I was previously developing with Telerik UI for WinForms 2025 Q3. Recently, I installed the latest version (2025 Q4) using the MSI installer and then manually updated the NuGet packages in my project to complete the upgrade without using the Update Wizard. Everything works fine now.
However, every time I open the project in Visual Studio, I still see the notification:
"You are using an older version of Telerik UI for WinForms for this project. There is a new version available for this computer. Update Now"
Is there a way to disable or hide this notification after manually updating the NuGet packages?
Thanks in advance!

Hi everyone,
I have a website: gatewayabroadeducations.com which has a total of around 280 pages, including blog posts. All these pages are correctly listed in the sitemap, and the sitemap is submitted in Google Search Console.
However, when I search on Google using the operator site:gatewayabroadeducations.com, I can only see about 29 pages indexed. Most of the blog posts and some other pages are not appearing in the Google search results.
I’ve checked:
The pages are in the sitemap
Pages are not blocked by robots.txt
Pages return a 200 status (not 404 or 301)
Canonical tags seem correct
No manual action in Search Console
I can't figure out why the remaining pages aren’t being indexed. Could this be due to:
Low-quality or duplicate content?
Crawl budget issues?
Internal linking problems?
Something else I might be missing?
Any help or suggestions to diagnose and fix this would be appreciated.
Thanks in advance!
message error: La référence d objet n'est pas définie à une instance d'un objet.
Hello,
In my Frame, I use a RadDock with documentContainer and two toolwindows.
I would like the toolWindowFamily to dock automatically when I select it, rather than having to press the “pin” image.
On the “stabstripItem_click”, I put: oToolwindow:DockState= Telerik.WinControls.UI.Docking.DockState:Docked.
Here is my code:
METHOD PRIVATE VOID TabStripItem_Click( INPUT sender AS System.Object, INPUT e AS System.EventArgs ):
DEFINE VARIABLE oTabStripItem AS Telerik.WinControls.UI.TabStripItem NO-UNDO.
DEFINE VARIABLE oToolwindow AS Telerik.WinControls.UI.Docking.ToolWindow NO-UNDO.
DEFINE VARIABLE cValeur AS CHARACTER NO-UNDO.
oTabStripItem = CAST(sender, Telerik.WinControls.UI.TabStripItem) NO-ERROR.
IF oTabStripItem NE ? THEN
DO:
oToolwindow = CAST(oTabStripItem:TabPanel, Telerik.WinControls.UI.Docking.ToolWindow) NO-ERROR.
IF VALID-OBJECT(oToolwindow) THEN DO:
IF oToolwindow NE ? THEN
DO:
IF THIS-OBJECT:DockPrincipal:ActiveWindow NE oToolwindow THEN
DO:
oActiveWindow = THIS-OBJECT:DockPrincipal:ActiveWindow.
cValeur = THIS-OBJECT:oongFamilleListe:GetToolwindowFurtifValeur( oToolwindow:NAME ).
InitialiseToolWindow( oToolwindow:NAME ).
CASE oToolwindow:Name:
WHEN gcToolWindowNomAide[1] THEN DO:
IF cValeur NE "?" AND cValeur NE 'OFF'
THEN THIS-OBJECT:oongCodeAnalytiqueAide:Initialisation(cValeur).
ELSE THIS-OBJECT:oongCodeAnalytiqueAide:Initialisation("").
oToolwindow:Enabled = ( cValeur NE "?" AND cValeur NE 'OFF').
END.
WHEN gcToolWindowNomFiltre[1] THEN DO:
glDockParCode= YES.
oToolwindow:DockState= Telerik.WinControls.UI.Docking.DockState:Docked.
glDockParCode= NO.
oToolwindow:Enabled = YES.
gcNoeudCourant = 'C000'.
glFiltreVisibleFamille = YES.
oongFamilleArborescence:SelectionNoeud(gcNoeudCourant).
IF glRafraichir THEN DO:
SetEtatObjet("BtnSupprimer", NO).
//SetEtatObjet("BtnCopier", NO).
//SetEtatObjet("BtnColler", NO).
//SetEtatObjet("BtnCollerInserer", NO).
oongFamilleListe:SetParamFiltreFamille ( glFiltreVisibleFamille ,gcNoeudCourant ).
oongFamilleListe:Rafraichir( ).
END.
END.
END CASE.
THIS-OBJECT:DockPrincipal:ActiveWindow = oToolwindow.
END.
ELSE
DO:
THIS-OBJECT:DockPrincipal:CloseAutoHidePopup().
oToolwindow:AutoHideTab:Click:UnSubscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
oToolwindow:AutoHideTab:Click:Subscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
IF THIS-OBJECT:DockPrincipal:ActiveWindow NE oActiveWindow THEN
THIS-OBJECT:DockPrincipal:ActiveWindow = oActiveWindow.
END.
END.
END.
ELSE DO:
MESSAGE 'ERR - TabStripItem_Click '
VIEW-AS ALERT-BOX.
RETURN.
END.
END.
/*
IF lFlgDocked THEN DO:
//oToolwindow:AutoHideTab:Click:UnSubscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
glDockParCode = YES.
oToolwindow:DockState= Telerik.WinControls.UI.Docking.DockState:Docked NO-ERROR.
oToolwindow:Tag = "ON".
glDockParCode = NO.
// oToolwindow:AutoHideTab:Click:Subscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
END.
*/
RETURN.
END METHOD.

My users want a UI that looks like the screen capture below. They want to be able to drag squares from the top frame to the bottom (mutually exclusive) and reorder them within the bottom frame and then save/restore between editing sessions. Do you have a control designed for this?
Thanks
Carl

I've just published all my .Net 9 apps using ClickOnce, all of them are now broken !
Using the following Nuget : UI.for.WinForms.AllControls.Net90 version 2025.1.211
They all crash on startup with the following error :
Application: MyApp.exe
CoreCLR Version: 9.0.225.6610
.NET Version: 9.0.2
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileNotFoundException: Could not load file or assembly 'UIAutomationProvider, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Le fichier spécifié est introuvable.
File name: 'UIAutomationProvider, Version=9.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
at Telerik.WinControls.UI.RadToggleSwitchElement.OnValueChanged()
at Telerik.WinControls.UI.RadToggleSwitchElement.set_Value(Boolean value)
at Telerik.WinControls.UI.RadToggleSwitchElement.InitializeFields()
at Telerik.WinControls.RadElement..ctor()
at Telerik.WinControls.VisualElement..ctor()
at Telerik.WinControls.RadComponentElement..ctor()
at Telerik.WinControls.RadItem..ctor()
at Telerik.WinControls.UI.UIItemBase..ctor()
at Telerik.WinControls.UI.LightVisualElement..ctor()
at Telerik.WinControls.UI.RadToggleSwitchElement..ctor()
at Telerik.WinControls.UI.RadRibbonBarElement.CreateButtons()
at Telerik.WinControls.UI.RadRibbonBarElement.CreateChildElements()
at Telerik.WinControls.RadElement.CallCreateChildElements()
at Telerik.WinControls.RadElement.Construct()
at Telerik.WinControls.RadElement..ctor()
at Telerik.WinControls.VisualElement..ctor()
at Telerik.WinControls.RadComponentElement..ctor()
at Telerik.WinControls.RadItem..ctor()
at Telerik.WinControls.UI.UIItemBase..ctor()
at Telerik.WinControls.UI.LightVisualElement..ctor()
at Telerik.WinControls.UI.RadRibbonBarElement..ctor()
at Telerik.WinControls.UI.RadRibbonBar.CreateRibbonBarElement()
at Telerik.WinControls.UI.RadRibbonBar.CreateChildItems(RadElement parent)
at Telerik.WinControls.RadControl.Telerik.WinControls.IComponentTreeHandler.CreateChildItems(RadElement parent)
at Telerik.WinControls.RadElementTree.InitializeRootElement()
at Telerik.WinControls.RadControl.Construct()
at Telerik.WinControls.RadControl..ctor()
at Telerik.WinControls.RadNonClientUIControl..ctor()
at Telerik.WinControls.UI.RadRibbonBar..ctor()
at App.MainForm.InitializeComponent()
at App.MainForm..ctor(IServiceProvider provider)
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
at System.Reflection.MethodBaseInvoker.InvokeWithOneArg(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitDisposeCache(ServiceCallSite transientCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass2_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at App.Program.Main()

The following distribution changes will be announced as of 2025 Q2:

Hello,
I'd like the number of characters in the form title to be reduced when I reduce my form.
example with eclipse: (Width form: 1000)
projet_xxxxx - c:/mon_projet/srv/fichier/caracteristique/grid/form_caraterisque.cls - Progress Developper Studio
and after reduction of Form (width form 700)
projet_xxxxx - c:/mon_projet/srv/fichier/caracteristique/grid/form_caraterisque.cls - Progress ...
the title and ...
best regard.
