Telerik Forums
UI for WinForms Forum
0 answers
42 views

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

Plamen Mitrev
Telerik team
 updated question on 02 Dec 2025
2 answers
32 views

Hi

I refer to the aritcle "How to Change PageViewMode for the Nested Levels in RadGridView - Telerik UI for WinForms"

I have a setting implemented that is like in the article.

It is working but has a flaw:

When an entry of the second tier is expanded and I then collapse the corresponding entry in the first tier and re-expand it, I get an NullReferenceException coming out of Telerik code:


System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei Telerik.WinControls.UI.RowsContainerElement.UpdateMergeCells(GridCellElement cellElement)
   bei Telerik.WinControls.UI.RowsContainerElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeViewElement(RectangleF viewElementRect)
   bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.RadPageViewElementBase.ArrangeChildren(SizeF finalSize)
   bei Telerik.WinControls.UI.RadPageViewElementBase.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.ArrangeContent(RectangleF clientRect)
   bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.PerformArrange(RectangleF clientRect)
   bei Telerik.WinControls.UI.RadPageViewElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.LightVisualElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.GridDetailViewRowElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.VirtualizedStackContainer`1.ArrangeElementCore(RadElement element, SizeF finalSize, RectangleF arrangeRect)
   bei Telerik.WinControls.UI.VirtualizedStackContainer`1.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.UI.ScrollableRowsContainerElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.RowsContainerElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeViewElement(RectangleF viewElementRect)
   bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.RadPageViewElementBase.ArrangeChildren(SizeF finalSize)
   bei Telerik.WinControls.UI.RadPageViewElementBase.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.ArrangeContent(RectangleF clientRect)
   bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.PerformArrange(RectangleF clientRect)
   bei Telerik.WinControls.UI.RadPageViewElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.UI.RadPageViewExplorerBarElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.LightVisualElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.GridDetailViewRowElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.VirtualizedStackContainer`1.ArrangeElementCore(RadElement element, SizeF finalSize, RectangleF arrangeRect)
   bei Telerik.WinControls.UI.VirtualizedStackContainer`1.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.UI.ScrollableRowsContainerElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.RowsContainerElement.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeViewElement(RectangleF viewElementRect)
   bei Telerik.WinControls.UI.ScrollViewElement`1.ArrangeOverride(SizeF finalSize)
   bei Telerik.WinControls.RadElement.ArrangeCore(RectangleF finalRect)
   bei Telerik.WinControls.RadElement.Arrange(RectangleF finalRect)
   bei Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayout()
   bei Telerik.WinControls.UI.GridTableElement.UpdateOnRowExpandedCore(GridViewRowInfo row)
   bei Telerik.WinControls.UI.GridTableElement.UpdateOnRowExpanded(GridViewRowInfo row)
   bei Telerik.WinControls.UI.GridTableElement.UpdateOnRowPropertyChanged(GridViewRowInfo row, GridPropertyChangedEventArgs e)
   bei Telerik.WinControls.UI.GridTableElement.ProcessRowEvent(GridViewRowInfo row, GridViewEvent eventData)
   bei Telerik.WinControls.UI.GridTableElement.Telerik.WinControls.UI.IGridViewEventListener.ProcessEvent(GridViewEvent eventData)
   bei Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessCollection(GridViewEvent gridEvent, PriorityWeakReferenceList list, GridEventProcessMode processMode)
   bei Telerik.WinControls.UI.GridViewEventProcessEntity.ProcessEvent(GridViewEvent gridEvent)
   bei Telerik.WinControls.UI.GridViewSynchronizationService.NotifyListeners(GridViewEvent gridEvent)
   bei Telerik.WinControls.UI.GridViewSynchronizationService.FlushEvents()
   bei Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewEvent gridEvent)
   bei Telerik.WinControls.UI.GridViewSynchronizationService.DispatchEvent(GridViewTemplate template, GridViewEvent eventData, Boolean postUI)
   bei Telerik.WinControls.UI.GridViewRowInfo.DispatchEvent(KnownEvents id, GridEventType type, GridEventDispatchMode dispatchMode, Object originator, Object[] arguments)
   bei Telerik.WinControls.UI.GridViewRowInfo.OnPropertyChanged(PropertyChangedEventArgs args)
   bei Telerik.WinControls.UI.GridViewDataRowInfo.OnPropertyChanged(PropertyChangedEventArgs e)
   bei Telerik.WinControls.UI.GridViewHierarchyRowInfo.OnPropertyChanged(PropertyChangedEventArgs e)
   bei Telerik.WinControls.UI.GridViewRowInfo.SetBooleanProperty(String propertyName, Int32 propertyKey, Boolean value)
   bei Telerik.WinControls.UI.GridViewRowInfo.set_IsExpanded(Boolean value)
   bei Telerik.WinControls.UI.GridGroupExpanderCellElement.expander_RadPropertyChanged(Object sender, RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.RadPropertyChangedEventHandler.Invoke(Object sender, RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.RadObject.OnPropertyChanged(RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.RadElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.VisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.RadComponentElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.RadItem.OnPropertyChanged(RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.UI.UIItemBase.OnPropertyChanged(RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.UI.LightVisualElement.OnPropertyChanged(RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.UI.ExpanderItem.OnPropertyChanged(RadPropertyChangedEventArgs e)
   bei Telerik.WinControls.RadObject.RaisePropertyNotifications(RadPropertyValue propVal, Object oldValue, Object newValue, ValueSource oldSource)
   bei Telerik.WinControls.RadObject.SetValueCore(RadPropertyValue propVal, Object propModifier, Object newValue, ValueSource source)
   bei Telerik.WinControls.RadElement.SetValueCore(RadPropertyValue propVal, Object propModifier, Object newValue, ValueSource source)
   bei Telerik.WinControls.UI.ExpanderItem.set_Expanded(Boolean value)
   bei Telerik.WinControls.UI.GridExpanderItem.set_Expanded(Boolean value)
   bei Telerik.WinControls.UI.ExpanderItem.ToggleExpanded()
   bei Telerik.WinControls.UI.ExpanderItem.OnMouseUp(MouseEventArgs e)
   bei Telerik.WinControls.RadElement.OnCLREventsRise(RoutedEventArgs args)
   bei Telerik.WinControls.RadElement.OnBubbleEvent(RadElement sender, RoutedEventArgs args)
   bei Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args)
   bei Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args)
   bei Telerik.WinControls.RadElement.RaiseRoutedEvent(RadElement sender, RoutedEventArgs args)
   bei Telerik.WinControls.RadElement.DoMouseUp(MouseEventArgs e)
   bei Telerik.WinControls.ComponentInputBehavior.OnMouseUp(MouseEventArgs e)
   bei Telerik.WinControls.RadControl.OnMouseUp(MouseEventArgs e)
   bei Telerik.WinControls.UI.RadGridView.OnMouseUp(MouseEventArgs e)
   bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei Telerik.WinControls.RadControl.WndProc(Message& m)
   bei Telerik.WinControls.UI.RadGridView.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Julian
Top achievements
Rank 1
Iron
Iron
Iron
 updated answer on 27 Nov 2025
1 answer
12 views
What do I have to do to keep using CreateEntryFromFile and ZipFile that was once in the Telerik.WinControls?
Nadya | Tech Support Engineer
Telerik team
 answered on 26 Nov 2025
1 answer
8 views

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!

Nadya | Tech Support Engineer
Telerik team
 answered on 26 Nov 2025
1 answer
13 views

¡Hi everyone! Is there a possibility to have a RadContexMenu with rounded corners ?
I already change the styles via theme, but when I open the context menu, it has some white square corners behind.

The version I have right now is 2016 SP1

Dinko | Tech Support Engineer
Telerik team
 answered on 25 Nov 2025
1 answer
14 views

Our application doesn't explicitly set a default theme so it defaults to ControlDefault.
One screen uses the MaterialBlueGrey theme, so I wanted the related MessageBoxes to also use that theme.

Per the instructions I used the following code:

RadMessageBox.SetThemeName("MaterialBlueGrey");
RadMessageBox.Show("MESSAGE");
RadMessageBox.SetThemeName("ControlDefault");

The problem is that, although the overall look goes back to the default theme, some elements stay with the MaterialBlueGrey theme. For example: the button height & caption font.

I tried all these with the same result:

RadMessageBox.SetThemeName("");
RadMessageBox.ThemeName = "";
RadMessageBox.ThemeName = "ControlDefault";

Nadya | Tech Support Engineer
Telerik team
 answered on 18 Nov 2025
1 answer
18 views

I have a situation where I have code that executes when the Selected Node  is changed.

SelectedNodeChanged

 

The code in the SelectedNodeChange adds controls to some FlowLayoutPanel.

When a user clicks on a node, you can see the controls being added to the control

but the RadTreeView allows the user to select another node eventhough the SelectedNodeChange event has not finished, which

is now causing issues with the FlowLayoutPanelshowing duplicate controls.

 

If user waits until all controls are in the FlowLayoutPanel, and then selects another node, everything works as expected.

 

None of the code that adds the controls to the FlowLayoutPanel are Asynchronous.

 

I DO NOT have Multiselect = true.

 

** I have noticed that the RadTreeView acts as though it is Asynchronous when filling it.  I have code that fills the nodes and you can select the nodes and see the nodes being added behind the scenes. 

Maybe control is Asynchronous when changing selected nodes?

 

 

Nadya | Tech Support Engineer
Telerik team
 answered on 18 Nov 2025
1 answer
24 views
Hello, When I drag and drop an item in PageView, I would like it to create a copy of the item (page) when holding the Control key—either within the same PageView or between different PageViews. Could you help me achieve this? Thank you.
Dinko | Tech Support Engineer
Telerik team
 answered on 17 Nov 2025
1 answer
16 views

When using RadOpenFolderDialog, some people see their mapped drives and some do not. This includes people within my office would should all have their mapped drives created the same way.

Is there a way that I can ensure RadOpenFolderDialog always sees the mapped drives of the user?

Dinko | Tech Support Engineer
Telerik team
 answered on 17 Nov 2025
3 answers
22 views

Hello, I'm trying to display a chart by salesperson, grouped by month, showing the total sales amount. I've attached a photo. I've tried many things without success. Thank you for your time.

I work with WinForms and VB.NET

 

 

 

Jhon
Top achievements
Rank 1
Iron
 updated answer on 07 Nov 2025
Narrow your results
Selected tags
Tags
GridView
General Discussions
Scheduler and Reminder
Treeview
Dock
RibbonBar
Themes and Visual Style Builder
ChartView
Calendar, DateTimePicker, TimePicker and Clock
DropDownList
Buttons, RadioButton, CheckBox, etc
ListView
ComboBox and ListBox (obsolete as of Q2 2010)
Form
Chart (obsolete as of Q1 2013)
PageView
MultiColumn ComboBox
TextBox
RichTextEditor
PropertyGrid
Menu
RichTextBox (obsolete as of Q3 2014 SP1)
Panelbar (obsolete as of Q2 2010)
PivotGrid and PivotFieldList
Tabstrip (obsolete as of Q2 2010)
MaskedEditBox
CommandBar
PdfViewer and PdfViewerNavigator
ListControl
Carousel
GanttView
Diagram, DiagramRibbonBar, DiagramToolBox
Panorama
New Product Suggestions
VirtualGrid
Toolstrip (obsolete as of Q3 2010)
AutoCompleteBox
Label
Spreadsheet
ContextMenu
Panel
Visual Studio Extensions
TitleBar
Documentation
SplitContainer
Map
DesktopAlert
CheckedDropDownList
ProgressBar
TrackBar
MessageBox
Rotator
SpinEditor
CheckedListBox
StatusStrip
LayoutControl
SyntaxEditor
Wizard
ShapedForm
TextBoxControl
CollapsiblePanel
Conversational UI, Chat
DateTimePicker
TabbedForm
CAB Enabling Kit
GroupBox
WaitingBar
DataEntry
ScrollablePanel
ScrollBar
ImageEditor
Tools - VSB, Control Spy, Shape Editor
BrowseEditor
DataFilter
FileDialogs
ColorDialog
Gauges (RadialGauge, LinearGauge, BulletGraph)
ApplicationMenu
RangeSelector
CardView
WebCam
BindingNavigator
Styling
Barcode
PopupEditor
RibbonForm
TaskBoard
Callout
NavigationView
ColorBox
PictureBox
FilterView
Accessibility
VirtualKeyboard
DataLayout
Licensing
ToastNotificationManager
ValidationProvider
CalculatorDropDown
Localization
TimePicker
BreadCrumb
ButtonTextBox
FontDropDownList
BarcodeView
Security
LocalizationProvider
Dictionary
SplashScreen
Overlay
Flyout
Separator
SparkLine
TreeMap
StepProgressBar
ToolbarForm
NotifyIcon
DateOnlyPicker
AI Coding Assistant
Rating
TimeSpanPicker
Calculator
OfficeNavigationBar
TaskbarButton
HeatMap
SlideView
PipsPager
AIPrompt
TaskDialog
TimeOnlyPicker
+? more
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Edmond
Top achievements
Rank 1
Iron
fabrizio
Top achievements
Rank 2
Iron
Veteran
RobMarz
Top achievements
Rank 2
Iron
Fakhrul
Top achievements
Rank 1
Iron
Tejas
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?