Completed
Last Updated: 07 Aug 2024 15:11 by ADMIN
Release 2024.3.806 (2024 Q3)

The annotation line is supposed to be at 05 point but instead it is between 05 and 06.

Unplanned
Last Updated: 10 Jun 2024 13:33 by ADMIN
Created by: Manikanta
Comments: 1
Category: UI for WinForms
Type: Feature Request
0

Hi All.

Could you please add or let me know locators for "RadChat" window for Automation purpose. I am unable to find locators on the below area.

 

Unplanned
Last Updated: 27 May 2024 11:18 by ADMIN
Created by: Dinko
Comments: 1
Category: UI for WinForms
Type: Feature Request
0

In.NET8 Microsoft has released databinding improvements: What's new in Windows Forms .NET 8 - Windows Forms .NET | Microsoft Learn. Add Command Binding and DataContext Support in .NET 8+

Unplanned
Last Updated: 21 May 2024 10:33 by ADMIN
The location of controls is messed up when RadForm is shown runtime on HDPI (125%).
Completed
Last Updated: 07 Aug 2024 15:11 by ADMIN
Release 2024.3.806 (2024 Q3)
 After updating the reference to Telerik 2024.2.514, the theme is lost at design time. 
Completed
Last Updated: 07 Aug 2024 15:11 by ADMIN
Release 2024.3.806 (2024 Q3)
UI for WinForms: Unable to change MS TabControl Selected Tab Design Time, when RadControl is initialized first in Designer.cs file
Completed
Last Updated: 07 Aug 2024 15:11 by ADMIN
Release 2024.3.806 (2024 Q3)
Created by: Nadya
Comments: 0
Category: UI for WinForms
Type: Feature Request
2
Similar to VisualStudio2022Light theme blending. Provide an easy way to change the palette for the Windows 11 themes. 
Unplanned
Last Updated: 16 May 2024 11:52 by ADMIN

 

 

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

Unplanned
Last Updated: 03 May 2024 13:42 by ADMIN

Documentation about High-DPI mechanisms available on the website is very outdated and mostly does not consider the changes and improvements that Microsoft made with .net 7.0 and 8.0.

What's needed is thorough documentation about Telerik's behavior in comparison with the different situations on .net Framework 4.9 and the major .net Versions 6.0, 7.0, and 8.0.

Kind regards

Erwin

Unplanned
Last Updated: 24 Apr 2024 08:22 by ADMIN
Exceptions

Top Level Exception
Type:        System.OverflowException
Message:     Arithmetic operation resulted in an overflow.
Source:      TelerikCommon
Stack Trace: at Telerik.WinControls.NativeMethods.GetMonitorDpi(Screen screen, DpiType dpiType)
   at Telerik.WinControls.VisualElement.GetScaledFont(Single scale, Font fontToScale)
   at Telerik.WinControls.UI.LightVisualElement.CreateTextParams()
Declined
Last Updated: 09 Aug 2024 11:54 by ADMIN
Created by: Czeshirecat
Comments: 2
Category: UI for WinForms
Type: Feature Request
0

I’m converting 20+ year old c# .net winform software that a clever internal ex dev wrote a themed control suite for. I’ve been working with those controls for almost the same length of time but am recently tasked with updating the whole app as customers are experiencing fall overs on some modern versions of Windows. Ive had the pleasure of (almost quietly ?) converting/updating by using Telerik for many years as my choice of replacement themed control systems.

Conversion experience has been pretty good, except for combo boxes, probably listboxes too (sorry guys Im writing this in bed at 5am so can’t/won’t just go testing). I did try, i think, using your conversion wizards without success. I do wish that you’d let us add any type of object to a combobox.item array in the same way that microsoft winform control allows.
Ive also noticed that some events dont occur in telerik, eg index changed need to be switched to valuechanged and these are only spotted when testing, which means extra work.

anyway. Bless an thanks to you all for my good experience with Progress/Telerik. Im old, poorly and crumbly now and wont be around much longer. May i last long enough not to need a pension to survive and i hope each of you invests in enough private pension to give yourselves a decent holiday or three per year ;) 

 

Completed
Last Updated: 07 Aug 2024 15:11 by ADMIN
Release 2024.3.806 (2024 Q3)

 

I'm a Progress OpenEdge developer and found issue with RadGridView using it in a ABL application. I have been able to reproduce the issue outside of the OpenEdge environment, and have attached a project file.

 

To see the issue, run the app, and scroll down really quickly with scrollbar thumb to the bottom.

You will then get:

System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=Telerik.WinControls.GridView
  StackTrace:
   at Telerik.WinControls.UI.ExpressionAccessor.EvaluateExpression(GridViewRowInfo row, GridViewColumn column)

                       

Call Stack when I'm in my project:

> WindowsFormsApp1_NetFramework.exe!Progress.Data.DataSource.FillCacheFromPVMSource(Progress.Data.CacheRow cacheRow, int rowIx) Line 579 C#
WindowsFormsApp1_NetFramework.exe!Progress.Data.DataSource.GetRowError(int rowIx) Line 651 C#
WindowsFormsApp1_NetFramework.exe!Progress.Data.DummyRow.Error.get() Line 1347 C#
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridViewRowInfo.ErrorText.get() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridDataRowElement.UpdateInfo() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridRowElement.Initialize(Telerik.WinControls.UI.GridViewRowInfo rowInfo) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridRowElement.Attach(Telerik.WinControls.UI.GridViewRowInfo row, object context) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.UpdateElement(int position, Telerik.WinControls.UI.GridViewRowInfo data) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.UpdateElement(int position, Telerik.WinControls.UI.GridViewRowInfo data) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElements() Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayout() Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayoutCallback(Telerik.WinControls.Layouts.ILayoutManager manager) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
mscorlib.dll!System.Delegate.DynamicInvokeImpl(object[] args) Line 123 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackDo(System.Windows.Forms.Control.ThreadMethodEntry tme) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(object obj) Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line 917 C#

 

                                                   

Once I relinguish control back to Telerik, I get:

System.NullReferenceException
  HResult=0x80004003
  Message=Object reference not set to an instance of an object.
  Source=Telerik.WinControls.GridView
  StackTrace:
   at Telerik.WinControls.UI.ExpressionAccessor.EvaluateExpression(GridViewRowInfo row, GridViewColumn column)


Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ExpressionAccessor.EvaluateExpression(Telerik.WinControls.UI.GridViewRowInfo row, Telerik.WinControls.UI.GridViewColumn column) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ExpressionAccessor.this[Telerik.WinControls.UI.GridViewRowInfo].get(Telerik.WinControls.UI.GridViewRowInfo row) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridViewRowInfo.this[Telerik.WinControls.UI.GridViewColumn].get(Telerik.WinControls.UI.GridViewColumn column) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridDataCellElement.Value.get() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridCellElement.SetContent() Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridVirtualizedCellElement.Initialize(Telerik.WinControls.UI.GridViewColumn column, Telerik.WinControls.UI.GridRowElement row) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridVirtualizedCellElement.Attach(Telerik.WinControls.UI.GridViewColumn data, object context) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.InsertElement(int position, Telerik.WinControls.UI.IVirtualizedElement<Telerik.WinControls.UI.GridViewColumn> element, Telerik.WinControls.UI.GridViewColumn data) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.UpdateElement(int position, Telerik.WinControls.UI.GridViewColumn data) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.MeasureElements() Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewColumn>.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridVirtualizedRowElement.MeasureElements(System.Drawing.SizeF availableSize, System.Drawing.SizeF clientSize, System.Windows.Forms.Padding borderThickness) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.LightVisualElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.GridRowElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.VirtualizedStackContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElementCore(Telerik.WinControls.RadElement element, System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.MeasureElementCore(Telerik.WinControls.RadElement element, System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.VirtualizedStackContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElement(Telerik.WinControls.UI.IVirtualizedElement<Telerik.WinControls.UI.GridViewRowInfo> element) Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureElements() Unknown
Telerik.WinControls.UI.dll!Telerik.WinControls.UI.BaseVirtualizedContainer<Telerik.WinControls.UI.GridViewRowInfo>.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.ScrollableRowsContainerElement.MeasureOverride(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.MeasureCore(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadElement.Measure(System.Drawing.SizeF availableSize) Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayout() Unknown
Telerik.WinControls.dll!Telerik.WinControls.Layouts.ContextLayoutManager.UpdateLayoutCallback(Telerik.WinControls.Layouts.ILayoutManager manager) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
mscorlib.dll!System.Delegate.DynamicInvokeImpl(object[] args) Line 123 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackDo(System.Windows.Forms.Control.ThreadMethodEntry tme) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(object obj) Unknown
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 980 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Line 928 C#
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Line 917 C#
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallback(System.Windows.Forms.Control.ThreadMethodEntry tme) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbacks() Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.ScrollableControl.WndProc(ref System.Windows.Forms.Message m) Unknown
Telerik.WinControls.dll!Telerik.WinControls.RadControl.WndProc(ref System.Windows.Forms.Message m) Unknown
Telerik.WinControls.GridView.dll!Telerik.WinControls.UI.RadGridView.WndProc(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) Unknown
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg, System.IntPtr wparam, System.IntPtr lparam) Unknown
[Native to Managed Transition]
[Managed to Native Transition]
System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(System.IntPtr dwComponentID, int reason, int pvLoopData) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason, System.Windows.Forms.ApplicationContext context) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) Unknown
System.Windows.Forms.dll!System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm) Unknown
> WindowsFormsApp1_NetFramework.exe!WindowsFormsApp1_NetFramework.Program.Main() Line 19 C#

 

/////////////////////////////////////////////////////////////////////////////////////////////////

The following notes will explain what we are doing, since it may not be typical.

 

The MaxDataGuess functionality offers a time-saving alternative for the OpenEdge BindingSource that binds to a query with 
a very large result set. 
Some .NET controls must know the number of records in the result set when they initialize. 
By default, the ProBindingSource counts the records by reading the records in the query's result set, which can be time-consuming for large 
result sets. Setting this property provides the .NET control with an estimated value to bypass the counting process.
Sometimes, the result list can contain tens of thousands records, so this functionality would be used for that use case.


The project that demonstrates the issue found with the Telerik GridView is a much simpler version of the actual OpenEdge implementation.
The Progress.Data.DataSource._actualNumberOfRecords property is just a hard coded value that takes the place of the ABL query result set list,
since this project does not include the OpenEdge specific code.

The internal implementation of the MaxDataGuess in this project is as follows:

The DataSource.Count property is originally set to 50.
See Form1.cs:  pbs = new Progress.Data.BindingSource(myDataTable, maxDataGuess);


Once user scrolls through rows close to the Count property,  the routine CheckForOffEnd() is called 
(triggered by IDataErrorInfo.Error property).
If it determines that we are close to "current" end of rows, it adds 100 more rows calling
OnListChanged(new ListChangedEventArgs(ListChangedType.ItemAdded, ix));
to notify the grid control that we've update the Count property.

The routine FillCacheFromPVMSource() is called to fill in the CacheRow param for the specified rowIx.
The exception comes into play when the rowIx is greater than the current Count property.
If this is the case, then FillCacheFromPVMSource() updates the Count property, and also calls
OnListChanged(new ListChangedEventArgs(ListChangedType.ItemDeleted, ix));
when adjusting the Count property to notify the Telerik grid.

The exception occurs when control passes back to the Telerik code. 
The rowIx is no longer valid, and the Telerik grid does not check for this.


We get the following System.NullReferenceException:

'Object reference not set to an instance of an object.'

 

Unplanned
Last Updated: 03 Apr 2024 10:41 by ADMIN

Windows Forms on .net 6.0 / 7.0 / 8.0 diverges more and more from .net Framework 4.x.

Please release a version of the Demo Application that is based on the current Microsoft Release.


Declined
Last Updated: 03 Apr 2024 15:24 by Sagar
Created by: Sagar
Comments: 4
Category: UI for WinForms
Type: Bug Report
0
# Vulnerability Report: Account Takeover via Email Change Functionality

## Summary:
During security testing of the email change functionality on the Telerik website, it was discovered that the application can be vulnerable to an account takeover attack. The vulnerability allows an attacker to change the email address associated with an account to their own email address, effectively taking over the victim's account.

## Vulnerability Details:
- **Functionality Description:**
  - The Telerik website provides a functionality for users to request a change in their email address.
  - This functionality consists of two sections: current email and new email.
  - The current email is not accessible from the user interface, while the new email can be inputted by the user.
  - After inputting the new email and clicking the "Change Email" button, the user's request is processed.

- **Attack Scenario:**
  1. **Attacker Inputs Their Email:** The attacker inputs their own email address in the new email section.
  2. **Intercepting the Request:** Using interception tools, the attacker intercepts the request before it is sent to the server.
  3. **Modifying the Request:** The attacker modifies the request to replace their own email address with the victim's email address in the current email section.
  4. **Consent Form Manipulation:** Additionally, the attacker can manipulate the consent form associated with the email change request to gain access to the victim's account without their consent.
  5. **Changing the Email Address:** The modified request is forwarded to the server, resulting in the victim's email address being changed to the attacker's email address.



## Impact:
- **Account Takeover:** The vulnerability allows an attacker to take over the victim's account by changing the email address associated with it.
- **Data Access:** Once the attacker gains access to the victim's account, they may have unauthorized access to sensitive data and functionalities associated with the account.

## Mitigation Recommendations:
- **Input Validation:** Implement strict input validation to ensure that only legitimate email addresses are accepted in the new email section.
- **Consent Verification:** Require additional verification steps, such as email confirmation or user authentication, before processing email change requests.
- **Session Management:** Implement session management mechanisms to detect and prevent unauthorized access to account settings and functionalities.
- **Security Awareness:** Educate users about the risks of phishing attacks and social engineering tactics used by attackers to gain unauthorized access to accounts.

## Affected URL:
- Email Change Functionality: [https://www.telerik.com/account/support-center/email-change](https://www.telerik.com/account/support-center/email-change)

## Conclusion:
The discovered vulnerability poses a significant security risk to Telerik website users by allowing attackers to take over accounts through manipulation of the email change functionality. It is imperative for the development team to address this vulnerability promptly by implementing appropriate security controls and mitigations to safeguard user accounts from unauthorized access.

**Best Regards,**
Sagar Dhoot
Unplanned
Last Updated: 01 Apr 2024 13:43 by ADMIN

Hi

It would be cool if the SyntaxEditor automatically changed the default palette if the selected scheme was dark.

Regards

Erwin

Unplanned
Last Updated: 30 Sep 2024 08:25 by ADMIN

In this case, we have an MS standard Form with control position on the form. Each of the controls has the right anchor. Moving the form to a monitor with a higher resolution messed up the size of the controls. 

Unplanned
Last Updated: 22 Mar 2024 15:13 by ADMIN
Created by: Arturo
Comments: 1
Category: UI for WinForms
Type: Feature Request
1

Hi,

Please, add a property  or method to the RadWebCam control to set video bit rate or quality. Currently is fixed a 4 mbits and it results in very poor image quality at high resolutions.

Please find attached images to see the difference  between snapshot and video recording. With fast moving pictures is even worse.

Thanks.

 

Declined
Last Updated: 27 May 2024 12:32 by ADMIN
This exception is a result of changes in the Current property of the IEnumerator interface. With the lastest version, if the current item is undefined it will throw an exception if we try to access it with the Current property, while in the older version, it will return null.
Completed
Last Updated: 07 Aug 2024 15:11 by ADMIN
Release 2024.3.806 (2024 Q3)
Unplanned
Last Updated: 05 Mar 2024 12:59 by ADMIN
Implement the export of notes (footnote, endnote) in the RtfFormatProvider of the RadRichTextEditor.