Unplanned
Last Updated: 16 May 2025 14:09 by ADMIN

Using specifically Win11 Compact DARK theme has additional space compared to the Win11 Compact LIGHT theme. See the pictures.

  • On Light theme there are 4 pixels between the form border and the top border of a tab.
  • On Dark theme there are 12 pixels between the form border and the top border of a tab.

In my opinion the dark theme has a wrong height here and the light theme is correct, especially compared to other themes, even Office 2019 for example.

Light theme:

Dark theme:

Pending Review
Last Updated: 16 May 2025 09:36 by Pascal

When enabling AutoSize on all RadTextBoxControl elements on a Form and the Form has its AutoSize porperty set to True, then the size of the TextBoxElement inside the TextBox autosizes wrong. See the pictures. This happens at runtime and under specific conditions also at design time.

If you change Form.AutoSize to False OR at least ONE RadTextBoxControl to AutoSize = False then everything works as normal. But if ALL RadTextBoxControl has AutoSize to True and The Form.AutoSize is True, then this happens.

Office 2019:

Windows 11 Compact:

In Development
Last Updated: 15 May 2025 11:36 by ADMIN
Scheduled for 2025 Q2 (May)

 

 

When a RadValidationRule has the "PropertyName" assigned to a non-existent property, the RadVAlidationProvider.ValidateCore throws a NullReference exception because the property cannot be found via reflection and throws no error handling.

 

From OpenEdge ABL class, this is the code written into the forms InitializeComponent method.  The "IsValid"  property doesn't actually exist.

        radValidationRule3:AddControl(THIS-OBJECT:myTextBox).         radValidationRule3:Operator = Telerik.WinControls.Data.FilterOperator:IsNotEqualTo.         radValidationRule3:PropertyName = "IsValid".         radValidationRule3:ToolTipText = "Test".         radValidationRule3:Value = TRUE.

 

While we don't expect the functionality to actually work because the property isn't actually available to .NET, but the NullReferenceException is poorly handled.

 

I've attached a screenshot of the bit of code from RadValidationProvider.ValidateCore where this occurs.  This is from version 2020.3.1020.20

Here is the thrown stack exception details from visual studio.

System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=Telerik.WinControls.UI
StackTrace:
at Telerik.WinControls.UI.RadValidationProvider.ValidateCore(Object sender, EventArgs e)

 

This

In Development
Last Updated: 15 May 2025 10:11 by ADMIN
Scheduled for 2025 Q2 (May)

When I show some text and set IsWordWrapEnabled to true... the horizontalscrollbar disappears


but when I set IsWordWrapEnabled to false after this, the horizontalscrollbar does not appear 

in your code I saw this:

                ScrollBarVisibility newScrollVisibility = editor.IsWordWrapEnabled ? ScrollBarVisibility.Disabled : ScrollBarVisibility.Auto;
                editor.SetValue(HorizontalScrollBarVisibilityProperty, newScrollVisibility);

But this .Auto property doesn't seem te work. 
Further more, next to this problem, I'd like to set this horizontalscrollbar to appear and disappear depending on the text width...
but I'm afraid this would be depending on the .auto property

 

In Development
Last Updated: 14 May 2025 14:55 by ADMIN
Scheduled for 2025 Q2 (May)
ADMIN
Created by: Hristo
Comments: 0
Category: UI for WinForms
Type: Bug Report
3
Workaround: manually increase the font of the controls

protected override void OnShown(EventArgs e)
{
    base.OnShown(e);

    var dpi = NativeMethods.GetSystemDpi();

    this.Font = new Font(this.Font.Name, this.Font.Size * dpi.X / 96, this.Font.Style);
    this.radMenu1.Font = new Font(this.radMenu1.Font.Name, this.radMenu1.Font.Size * dpi.X / 96, this.radMenu1.Font.Style);
    this.radCommandBar1.Font = new Font(this.radCommandBar1.Font.Name, this.radCommandBar1.Font.Size * dpi.X / 96, this.radCommandBar1.Font.Style);
}
In Development
Last Updated: 09 May 2025 07:51 by ADMIN
Scheduled for 2025 Q2 (May)
Created by: Pascal
Comments: 1
Category: UI for WinForms
Type: Bug Report
2

Hello team!

I've found a misbehavior on RadForm when setting the size.

When you set the Size of the Form before it actually has shown then it will do some re-calculation, change the form size several times, and ending up in a too big size. The behavior is different to a original Form and that's why I'd treat this as bug.

The first screenshot shows a RadForm that set itself to ClientSize = 500; 500 on the constructor, like usual. It ends up in a size slightly bigger then defined.


This second screenshot shows a RadForm that set itself to ClientSize on "Shown". It ends up in having the correct size.

Whenever you set a breakpoint to the method "Form1_Resize" you can capture that the first time the Size of the RadForm get changed is our "ClientSize = new Size(500, 500)". Then the Size get changed two times by RadForm itself to something slightly smaller. Lastly the Size get changed by RadForm another time, but this time slightly bigger

This behaviors can lead to inconsistent UI size, e. .g small spaces when using AutoSize = true in certain cases. But yet didn't figured completely out when exactly it happens, just that it comes from this slightly increased Size of RadForm.

Can you please take a look to it and, if it is one, report it as bug?

Thank you very much!

Regards,
Pascal

In Development
Last Updated: 07 May 2025 13:26 by ADMIN
Scheduled for 2025 Q2 (May)
Created by: John
Comments: 1
Category: UI for WinForms
Type: Bug Report
0

When trying to open the QuickStart solution from 

C:\Program Files (x86)\Progress\Telerik UI for WinForms 2025 Q1\Examples

installation folder, the following error appears:

In Development
Last Updated: 29 Apr 2025 10:40 by ADMIN
Scheduled for 2025 Q2 (May)

Visual Studio 2022 crashes when working with a solution containing two WinForms projects:

  • Project 1: WinForms (.NET 9) with Telerik
  • Project 2: WinForms (.NET 6) without Telerik

Steps to Reproduce:

  1. Create a new solution in Visual Studio 2022.
  2. Add two WinForms projects:
    • Project 1: WinForms (.NET 9) with Telerik
    • Project 2: WinForms (.NET 6) without Telerik
  3. Open the WinForms designer for a form in Project 1 (Telerik, .NET 9).
  4. Without closing the designer, open the WinForms designer for a form in Project 2 (.NET 6, no Telerik).
  5. Switch to the code view of the form in Project 2.
  6. Switch back to the WinForms designer in Project 2.

Expected Result:
Visual Studio should smoothly switch between code and designer views without issues.

Actual Result:
Visual Studio freezes and crashes after switching back to the WinForms designer in Project 2.

Environment:

  • Visual Studio 2022
  • Windows Version: (Windows 11 x64)
  • Telerik WinForms Version: (2025.1.211)

Additional Notes:

  • The issue seems to be related to handling different .NET versions and Telerik components in the same solution.
  • The crash occurs consistently when following the steps above.
  • No explicit error messages are shown before Visual Studio closes.

Need More Info
Last Updated: 24 Apr 2025 09:23 by ADMIN
Created by: Jay
Comments: 1
Category: UI for WinForms
Type: Bug Report
0
System.NullReferenceException: Object reference not set to an instance of an object.
   at Telerik.Windows.Pdf.Documents.Fixed.FormatProviders.Old.Pdf.PdfElementToFixedElementTranslator.CreateFormField(PdfContentManager contentManager, FormFieldNodeOld terminalFormField)
   at Telerik.Windows.Pdf.Documents.Fixed.FormatProviders.Old.Pdf.PdfElementToFixedElementTranslator.CreateWidgetAnnotation(WidgetOld source, PdfFormatProvider provider)
   at Telerik.Windows.Pdf.Documents.Fixed.FormatProviders.Old.Pdf.PdfElementToFixedElementTranslator.CreateAnnotation(AnnotationOld source, PdfFormatProvider provider)
   at Telerik.Windows.Pdf.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.CopyAnnotationsFromPageSource(PageOld source, AnnotationCollection annotations)
   at Telerik.Windows.Pdf.Documents.Fixed.FormatProviders.Pdf.PdfFormatProvider.LoadPageAnnotations(RadFixedPage page)
   at Telerik.Windows.Pdf.Documents.Fixed.Model.RadFixedPage.LoadAnnotations()
   at Telerik.Windows.Pdf.Documents.Fixed.Model.Internal.RadFixedPageInternal.Arrange()
   at Telerik.Windows.Pdf.Documents.Fixed.FormatProviders.Old.Pdf.PdfReader.PageContentLoader.Telerik.Windows.Pdf.Documents.Fixed.FormatProviders.Old.Pdf.PdfReader.IPageContentLoader.LoadPageContent(RadFixedPage page)
   at Telerik.Windows.Pdf.Documents.Fixed.FormatProviders.Old.Pdf.PdfReader.PagesCacheManager.BeginUsingPageContent(RadFixedPage page)
   at Telerik.WinControls.UI.RadFixedPageElement.Attach(RadFixedPage data, Object context)
   at Telerik.WinControls.UI.RadFixedPageElement..ctor(RadFixedPage page, RadPdfViewerElement owner)
   at Telerik.WinControls.UI.RadPdfViewerElement.CreatePageElement(RadFixedPage data, Object context)
   at Telerik.WinControls.UI.FixedPageElementProvider.CreateElement(RadFixedPage data, Object context)
   at Telerik.WinControls.UI.BaseVirtualizedElementProvider`1.GetElement(T data, Object context)
   at Telerik.WinControls.UI.BaseVirtualizedContainer`1.UpdateElement(Int32 position, T data)
   at Telerik.WinControls.UI.BaseVirtualizedContainer`1.MeasureElements()
   at Telerik.WinControls.PdfViewer.PdfViewerStackContainer.MeasureElements()
   at Telerik.WinControls.UI.BaseVirtualizedContainer`1.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.RadElement.MeasureCore(SizeF availableSize)
   at Telerik.WinControls.RadElement.Measure(SizeF availableSize)
   at Telerik.WinControls.UI.ScrollViewElement`1.MeasureViewElement(SizeF availableSize)
   at Telerik.WinControls.UI.ScrollViewElement`1.MeasureView(SizeF availableSize)
   at Telerik.WinControls.UI.ScrollViewElement`1.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.UI.VirtualizedScrollPanel`2.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.UI.RadPdfViewerElement.MeasureOverride(SizeF availableSize)
   at Telerik.WinControls.RadElement.MeasureCore(SizeF availableSize)
   at Telerik.WinControls.RadElement.Measure(SizeF availableSize)
   at Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayout()
   at Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayoutCallback(ILayoutManager manager)
Declined
Last Updated: 03 Apr 2025 09:09 by ADMIN
Created by: Martin
Comments: 2
Category: UI for WinForms
Type: Feature Request
0

RadMessageBox(form) is a telerik replacement for the System.Windows.Forms.MessageBox.

MessageBox has a parameter MessageBoxOptions.DefaultDesktopOnly which makes it (surprisingly) topmost. RadMessageBox does not have this option.

I have a scenario where the RadMessageBox is hidden by a total different application when shown. So I need to make it topmost.

Can you add some kind op RadMessageBoxOptions to make it topmost?

Declined
Last Updated: 14 Mar 2025 17:12 by Curtis

I've tested this with both Telerik.WinControls.UI.RadForm and Telerik.WinControls.UI.RadRibbonForm

Telerik.WinControls.UI.RadForm works fine!  Telerik.WinControls.UI.RadRibbonForm fails to bubble up Keys.Up, Keys.Down, Keys.Left and Keys.Right

 

Steps:

Create new WinForms project (I'm using .net 4.7.2)

Add Telerik extensions. 

Add a Form (Windows Form default .Name = "Form1"), RadForm (default .Name = "RadForm1") and RadRibbonForm

You can use any Theme or default.  Makes no difference.

 

Set all three form's .KeyPreview = True

Add this method to each form:

Private Sub form_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Up Then
If My.Computer.Keyboard.ShiftKeyDown Then
MsgBox("Shift Up")
Else
MsgBox("Up!")
End If
End If
End Sub

Set your Startup Form = Form1 (The Windows Form) and click Start.

hit your UP-Arrow key.  You'll get the MsgBox "Up!"

Hold shift+UP-Arrow and you'll get "Shift Up"

The above is True for Winforms AND RadForm but RadRibbonForm does this:

 

Set your Startup Form = radribbonform and click Start

Hit your UP-Arrow and you'll get...nothing.  The event never gets raised.

Hold your shift+UP-Arrow and you'll get....nothing because the event does not fire when you hit any of the arrow keys.

 

 

 

 

 

Completed
Last Updated: 10 Mar 2025 14:42 by ADMIN
Release 2025.1.310 (Preview)
Created by: Remco
Comments: 1
Category: UI for WinForms
Type: Bug Report
0

 

 

Unplanned
Last Updated: 03 Mar 2025 17:19 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 3
Category: UI for WinForms
Type: Bug Report
3
To reproduce: please refer to the attached sample project and gif file.

Workaround: use screentips: https://docs.telerik.com/devtools/winforms/telerik-presentation-framework/tooltips-and-screentips/screen-tips
Declined
Last Updated: 28 Feb 2025 14:54 by ADMIN

Hello there,

I am facing system.StackOverflowExcepiton while exporting document with HtmlFormatProvider. I am attaching my code with the HTML string which I am passing into RichTextEditor.

---------------------------------------------------------

HTML String:

"Navigate to the <a href="https://exelon.ifs.cloud/landing-page/" target="_blank"><b><u>IFS Cloud Landing Page</u></b></a>.<br /> <br />NOTE: If the above link does not work for you, copy and paste this address ...<br /> <br /><u>https://exelon.ifs.cloud/landing-page/</u>"

---------------------------------------------------------

Method which is giving me an error:

               

internal static string GetRadRichTextEditorHtmlValue(RadRichTextEditor radRichTextEditor, bool RemoveNewLineSpace = false, bool withDocumentChange = true, bool removeLastParagraphLine = false, bool fromDefinationEditor = false, bool OnlyHtml = false, bool fromDynamicAssetDefinition = false)
        //internal static string GetRadRichTextEditorHtmlValue(RadRichTextEditor radRichTextEditor, bool RemoveNewLineSpace = false, bool withDocumentChange = true, bool removeLastParagraphLine = false, bool fromDefinationEditor = false,bool OnlyHtml=false)
        {
            string htmlValue = string.Empty;

            try
            {
                if (radRichTextEditor == null)
                    return "";

                Telerik.WinForms.Documents.Model.RadDocument document = radRichTextEditor.Document;
                Telerik.WinForms.Documents.FormatProviders.Html.HtmlFormatProvider provider = new Telerik.WinForms.Documents.FormatProviders.Html.HtmlFormatProvider();
                if (withDocumentChange)
                {
                    //Telerik.WinForms.Documents.FormatProviders.Html.HtmlExportSettings htmlExportSettings = new Telerik.WinForms.Documents.FormatProviders.Html.HtmlExportSettings();
                    //htmlExportSettings.ExportHeadingsAsTags = true;
                    //provider.ExportSettings = htmlExportSettings;
                    //htmlExportSettings.PropertiesToIgnore["h1"].Add("Heading1");
                    provider.ExportSettings.DocumentExportLevel = Telerik.WinForms.Documents.FormatProviders.Html.DocumentExportLevel.Fragment;
                    provider.ExportSettings.ExportFontStylesAsTags = true;
                }
htmlValue = provider.Export(document); // Exception place.
                if (withDocumentChange)
                {
                    string strikeClassName = GetStrikeClassName(htmlValue);
                    htmlValue = GetTagValueFromHtmlString(htmlValue, fromDefinationEditor, fromDynamicAssetDefinition);
                    htmlValue = StripHtmlExceptFontTags(htmlValue, strikeClassName, RemoveNewLineSpace, OnlyHtml);
                }
                document.Dispose();
            }
            catch (Exception ex)
            {
                ClickLearn.Exceptions.ExceptionToEventLog(ex, "GetRadRichTextEditorHtmlValue");
            }

            // TO DO: Remove below condition when <br/> issue fixed fom editor
            if (htmlValue.IndexOf("<br />") == 0 || htmlValue.IndexOf("</ br>") == 0)
            {
                htmlValue = htmlValue.Substring(6);
            }
            else if (htmlValue.IndexOf("<br/>") == 0 || htmlValue.IndexOf("</br>") == 0)
            {
                htmlValue = htmlValue.Substring(5);
            }

            if (!string.IsNullOrEmpty(htmlValue))
            {
                htmlValue = RemoveLastNewLine(htmlValue);
            }

            return htmlValue;
        }

---------------------------------------------------------

Control's properties:

ucRichTextBox ucRichTextBox2 = new ucRichTextBox(tagCommand.Tags, ce.CurrentLCID, true, MetadataProperties, ArgInfoList);
ucRichTextBox2.spd = spd;
ucRichTextBox2.Tag = tagCommand.Tags;
ucRichTextBox2.Name = "ucRichTextBox2";
ucRichTextBox2.Left = sx;
ucRichTextBox2.Top = y;
ucRichTextBox2.Width = pnlSPD.Width - leftPadding - rightPadding;
ucRichTextBox2.btnUnlock.Click += BtnUnlock_Click;
ucRichTextBox2.btnUnlock.Image = Properties.Resources.c_full;
ucRichTextBox2.btnUnlock.Tag = "c_full";
ucRichTextBox2.btnLockOption.Visible = true;
ucRichTextBox2.btnLockOption.BringToFront();
ucRichTextBox2.btnLockOption.MouseDown += BtnLockOption_MouseDown;
ucRichTextBox2.btnLink.Click += BtnLink_Click;
ucRichTextBox2.rtxContent.CommandExecuting += RtxContent_CommandExecuting;
ucRichTextBox2.btnSetting.ButtonElement.ToolTipText = argInfoUX12.ConfigDoc.ContainsKey

---------------------------------------------------------

UI for the control:

---------------------------------------------------------

Error message:

 

Completed
Last Updated: 12 Feb 2025 12:56 by ADMIN
Release 2025.1.211 (2025 Q1)
Created by: Liang Sime
Comments: 1
Category: UI for WinForms
Type: Bug Report
0
Me.radToggleSwith1.OffText = "OFF"
Me.radToggleSwith1.OnText = "ON"
Completed
Last Updated: 12 Feb 2025 12:41 by ADMIN
Release 2025.1.211 (2025 Q1)

Repro-steps:

myRadGridView.Rows.Add((GridViewDataRowInfo)null);

Actual behavior

  1. NullReferenceException is thrown
  2. A new row is added.

Excepted behavior

  1. Or an ArgumentNullException is thrown, and no rows are added.
  2. Or a new row is added, and no exception is thrown.

Remark

The method AddRange is also impacted by this bug.

Duplicated
Last Updated: 04 Feb 2025 14:28 by ADMIN

This bug is about a mismatch between what behaviour is expected (on a functional level) and the actual behavior. There are different scenario's:

A normal example without a bug

int index = myRadGridView.Rows.Add(1, 2, 3); 

Actual and expected behavior

Adds a row to the grid, filling cells with the values 1, 2 and 3. Even when there are more columns than values, only the first 3 cells are filled.

Bug #1

int index = myRadGridView.Rows.Add(); // Will result in: myRadGridView.Rows.Add(new object[0]);

Actual behavior

IndexOutOfRangeException is thrown.

Expected behavior

A new row is added, the cells are not filled with anything, since it should not matter if 3, 4 or zero values are added to the cells. Or, if you are very strict, an ArgumentOutOfRangeException, telling us at least 1 value is required.

Remark

Of course there is also a NewRow() method. But that is no reason Add() should not be allowed to accept zero values.

Bug #2

int index = myRadGridView.Rows.Add((object[])null);

Actual behavior

A NullReferenceException is thrown. 

Expected behavior

ArgumentNullException, telling us that parameter "values" is not allowed to be null.

Bug #3

int index = myRadGridView.Rows.Add(new GridViewDataRowInfo(...), new GridViewDataRowInfo(...));

// or

int index = myRadGridView.Rows.Add(new object[] { new GridViewDataRowInfo(...), new GridViewDataRowInfo(...) });

Actual behavior

Only the first row is added. The second row, or even the second value (integer, string, whatever) is totally ignored. 

Expected behavior

  1. Or when a mixture of rows and values if given, an ArgumentException telling us that values and rows are not allowed to be mixed.
  2. Or when the values are all rows, all rows are added and the index of the last row is returned.
  3. Or an ArgumentException telling us that rows are not allowed to be added by this method and Add(GridViewDataRowInfo) or AddRange(GridViewDataRowInfo[]) are to be used.

Remark

The method Add(params object[] values) checks if the first value is a row, resulting in this and the previous bugs.

Declined
Last Updated: 08 Jan 2025 09:23 by ADMIN
Created by: Martin
Comments: 1
Category: UI for WinForms
Type: Bug Report
1

Repro-steps

  1. Create a RadGridView
  2. Add a GridViewDecimalColumn
  3. Add a GridViewSummaryRowItem with a GridViewSummaryItem which:
    1. calculates the average of the values in the decimal column
    2. formats the value to two decimals after the decimal point: {0:0.00}
  4. Make an event handler for ViewCellFormatting.
  5. Add some rows with values to the grid.
  6. In the event handler, try to read ((GridSummaryCellElement)e.CellElement).Value.

Actual behavior

The value contains a string representing the formatted and rounded value of the average of all values.

Expected behavior

The value contains a raw, not rounded,  not formatted, decimal value. 

Remarks

I expect this behavior since GridSummaryCellElement has two properties: Text and Value.
I expect those to have difference functions. Value to hold the actual calculated value, and Text to hold the formatted, round string-equivalent.

Another reason why I expect this, is that Value is of type object, not of type string. So expect a value corresponding to the original datatype of the column and/or the result of the calculation.

Follow-up questions

  1. In what scenario may I expect in Value another data type that string?
  2. How, during the event handler, can I retrieve the original calculated value (with using parsing, since that is slow and does not contain all the digits).

 

Unplanned
Last Updated: 19 Dec 2024 14:06 by ADMIN
Created by: JeffSM
Comments: 1
Category: UI for WinForms
Type: Feature Request
1
 
Unplanned
Last Updated: 09 Dec 2024 09:13 by ADMIN

When I use the new project wizard provided by Microsoft for a new windows forms project it lets me select the target .net version

When I do the same with the Telerik wizard, it does not let me choose what .net Version I'm targeting and does not generate the optimal code for the target version. For example when I target .net 9.0 with high dpi support, it should generate API calls for High DPI, not an entry in the app manifest. IMHO the generated code should be as close to the Microsoft Standard for the targeted .net version as possible. 

 

1 2 3 4 5 6