Declined
Last Updated: 23 Mar 2026 13:07 by ADMIN
When the RadForm is used as MDI Child hosted by RadDock, the rendering of the form is not appropriate.
Completed
Last Updated: 05 Sep 2014 08:37 by ADMIN
To reproduce:
- Set the form MinimumSize to or close to the RadForm's actual size.
- Turn all windows visual effects off
- Set the theme to Office2010Silver
- Start the application

Workaround: 
- Load the theme manually in code like this:
 ThemeResolutionService.LoadPackageFile("C:\Office2010Silver.tssp")
 ThemeResolutionService.ApplicationThemeName = "Office2010Silver"
Unplanned
Last Updated: 17 Apr 2024 14:39 by ADMIN
Workaround: set the RadRibbonFormBehavior1.AllowTheming property of the form to false

public class RadForm1
{
	public RadForm1()
	{
		InitializeComponent();

		this.RadRibbonFormBehavior1.AllowTheming = false;

	}
}
Completed
Last Updated: 21 May 2025 10:51 by ADMIN
Release 2025.2.520 (2025 Q2)
How to reproduce: set the Size property of the form in the designer of Visual Studio, pay attention to the serialized ClientSize value. Run the form and check the ClientSize, it has increased

Workaround: 
public partial class Form2 : RadForm
{
    public Form2()
    {
        InitializeComponent();
        Padding p = TelerikDpiHelper.ScalePadding(this.FormBehavior.ClientMargin, new SizeF(1f / this.RootElement.DpiScaleFactor.Width, 1f / this.RootElement.DpiScaleFactor.Height));
        this.MaximumSize = new Size(this.Size.Width - p.Horizontal, this.Size.Height - p.Vertical- this.FormBehavior.ClientMargin.Bottom + this.FormElement.TitleBar.Size.Height);
    }

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

        this.MaximumSize = new Size(0, 0);
    }
}
Unplanned
Last Updated: 09 Aug 2023 10:41 by ADMIN
The controls inside the form are not scaled correctly when the Form is shown on a monitor with DPI higher than 150%. An important step here is that the main monitor where the form is shown has a higher DPI. Moving the form from a monitor with 100% to a monitor with a higher DPI will not reproduce this behavior.
Completed
Last Updated: 02 May 2017 06:42 by ADMIN
When the Font of the form changes (or the DPI setting), RadForm should be able to arrange its content so that no controls are overlapped. In addition, RadForm should increase its size when necessary.
Completed
Last Updated: 11 May 2015 08:38 by ADMIN
If you have a RadForm that contains a RadTextBox (TextBox), set the WindowsState of this form to Maximized and add this form to an MDI Parent with RadDock which handles the forms, you will notived that you are not able to mouse select the text.
Completed
Last Updated: 24 Jul 2014 07:40 by ADMIN
RadMessageBox  throws ArgumentException - "A circular control reference has been made. A control cannot be owned by or parented to itself." when using with MDI forms. 

WorkAround:
RadMessageBox.Show("Text");
RadMessageBox.Instance.Dispose();
Completed
Last Updated: 24 Jul 2014 07:40 by ADMIN
ADMIN
Created by: Martin Vasilev
Comments: 0
Category: Form
Type: Bug Report
3
Default button focus is not correct and additional tab press is needed.
Unplanned
Last Updated: 16 Nov 2017 11:42 by ADMIN
To reproduce:
RadForm form = new RadForm();
form.WindowState = FormWindowState.Maximized;
form.Text = string.Format("Child {0}", MdiChildren.Length + 1);
form.MdiParent = this;
form.Show();

Hover the Form's title bar the tooltip should start flashing/blinking

Completed
Last Updated: 08 Oct 2014 14:01 by ADMIN
ADMIN
Created by: Georgi I. Georgiev
Comments: 0
Category: Form
Type: Bug Report
3
To reproduce:
Add a RadRibbonBar, associate AcceptButton and CancelButton and subscribe to their events. Run the application press escape and the CancelButton's event should be fired. Press enter -  no results.
Workaround:
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
    if (keyData == System.Windows.Forms.Keys.Enter)
    {
        this.AcceptButton.PerformClick();
    }

    return base.ProcessCmdKey(ref msg, keyData);
}

Resolution: 

The issue is fixed in Telerik`s RadForm and RadRibbonForm. If you use MS Form, this is still not working.  
Completed
Last Updated: 11 Oct 2021 07:21 by ADMIN
Release R1 2017
Steps to reproduce:
- add RadForm to the project 
- drop a RadRibbonBar to the project 
- when asked to use RadRibbonFormBehavior, confirm with Yes 
- check the form size (height) and close it 
- reopen it and the size is changed
- repeating the last two steps continues to increase the form height

Workaround:  change the parent of the form having the ribbon form behavior
 public partial class RadForm1 : CustomRadForm
    {
        public RadForm1()
        {
            InitializeComponent();
        }
    }

public class CustomRadForm : Telerik.WinControls.UI.RadForm
{
    public new FormControlBehavior FormBehavior
    {
        get
        {
            return (FormControlBehavior)typeof(RadFormControlBase)
                    .GetField("formBehavior", BindingFlags.Instance | BindingFlags.NonPublic)
                    .GetValue(this);
        }
        set
        {
            this.ResetFormBehavior(false);
            if (value != null)
            {
                Size clientSize = this.ClientSize;
                typeof(RadFormControlBase)
                    .GetField("formBehavior", BindingFlags.Instance | BindingFlags.NonPublic)
                    .SetValue(this, value);

                typeof(RadFormControlBase)
                    .GetMethod("PrepareBehavior", BindingFlags.Instance | BindingFlags.NonPublic)
                    .Invoke(this, new object[] { });

                this.RecreateHandle();

                this.ClientSize = clientSize;
            }
        }
    }
}

Completed
Last Updated: 14 Apr 2016 12:47 by ADMIN
To reproduce:
- Create new project.
- Make the default  form to inherit RadForm.
- Start the application and maximize the form.
- You will notice that a few pixels are displayed on the right monitor as well.

Workaround:
var screen = System.Windows.Forms.Screen.PrimaryScreen.Bounds;
this.MaximumSize = new Size(screen.Width, screen.Height);

Second Workaround:

public Form1()
{
    InitializeComponent(); 

    this.SizeChanged += Form1_SizeChanged;
}
 
private void Form1_SizeChanged(object sender, EventArgs e)
{
    if (this.WindowState == FormWindowState.Maximized)
    {
        this.Region = null;
    }
}
Completed
Last Updated: 30 Aug 2016 13:14 by ADMIN
How to reproduce: 
1. Maximize a RadForm on a remote desktop machine using 2016.2.608 version
2. Maximize a RadForm on a Windows 7 machine with a disabled Aero using 2016.2.608 version
3. Maximize a RadForm on a Windows Server 2003 R2 using 2016.2.608 version
4. Maximize a RadForm on a Windows Server 2008 R2 using 2016.2.608 version

Workaround:

 public partial class RadForm1 : RadForm
    {
        public RadForm1()
        {
            InitializeComponent();
        }

        //Workaround
        protected override Telerik.WinControls.RootRadElement CreateRootElement()
        {
            return new MyFormRootElement(this);
        }
    }
public class MyFormRootElement : FormRootElement
    {
        private RadForm formControl;

        public MyFormRootElement(RadForm radForm1) : base(radForm1)
        {
        }

        protected override Type ThemeEffectiveType
        {
            get
            {
                return typeof(RootRadElement);
            }
        }

        protected override void OnPropertyChanged(RadPropertyChangedEventArgs e)
        {
            this.formControl = this.GetType().BaseType.GetField("formControl", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(this) as RadForm;

            if (e.Property == RadElement.BoundsProperty)
            {
                if ((this.Shape != null) && (this.formControl != null) &&
                    this.ApplyShapeToControl)
                {
                    Rectangle oldBounds = (Rectangle)e.OldValue;
                    Rectangle newBounds = (Rectangle)e.NewValue;

                    if (oldBounds.Size != newBounds.Size)
                    {
                        CreateRegionFromShape(newBounds.Size);
                    }
                }
            }
            else if ((e.Property == ShapeProperty) && this.ApplyShapeToControl)
            {
                ElementShape shape = e.NewValue as ElementShape;
                if ((shape != null) && (this.ElementTree != null))
                {
                    CreateRegionFromShape(this.Size);
                }
            }
            else if (e.Property == ApplyShapeToControlProperty)
            {
                if ((bool)e.NewValue && this.Shape != null)
                {
                    CreateRegionFromShape(this.Size);
                }
                else
                {
                    this.ElementTree.Control.Region = null;
                }
            }
            else
            {
                base.OnPropertyChanged(e);
            }
        }

        private void CreateRegionFromShape(Size regionSize)
        {
            Region newRegion = null;
            this.formControl = this.GetType().BaseType.GetField("formControl", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(this) as RadForm;

            if (this.formControl.WindowState != FormWindowState.Maximized || this.formControl.MaximumSize != Size.Empty)
            {
                Rectangle boundsRect = new Rectangle(Point.Empty, regionSize);

                using (GraphicsPath path = this.Shape.CreatePath(boundsRect))
                {
                    newRegion = new Region(path);
                }
            }
            else if (!(IsWindows7 && !DWMAPIHelper.IsCompositionEnabled))
            {
                int borderLenght = DWMAPIHelper.IsCompositionEnabled ? SystemInformation.FixedFrameBorderSize.Height :
                                   SystemInformation.FrameBorderSize.Height;
                borderLenght += borderLenght;

                if (!IsWindows8OrHigher)
                {
                    borderLenght += 2;
                }
                else
                {
                    borderLenght += 1;
                }

                Rectangle boundsRect = new Rectangle(new Point(borderLenght, borderLenght),
                    new Size(regionSize.Width - (borderLenght * 2), regionSize.Height - (borderLenght * 2)));

                using (GraphicsPath path = new GraphicsPath())
                {
                    path.AddRectangle(boundsRect);
                    newRegion = new Region(path);
                }
            }

            Region region = this.formControl.Region;

            if (!AreEqualRegions(region, newRegion))
            {
                this.formControl.Region = newRegion;
            }
        }

        private bool IsWindows8OrHigher
        {
            get
            {
                OperatingSystem os = Environment.OSVersion;
                return os.Platform == PlatformID.Win32NT &&
                       (os.Version.Major > 6 || (os.Version.Major == 6 && os.Version.Minor >= 2));
            }
        }

        private bool IsWindows7
        {
            get
            {
                OperatingSystem os = Environment.OSVersion;
                return os.Platform == PlatformID.Win32NT &&
                       ((os.Version.Major == 6 && os.Version.Minor == 1) || os.Version.Major < 6);
            }
        }

        private static bool AreEqualRegions(Region regionX, Region regionY)
        {
            if (regionX == null && regionY == null)
            {
                return true;
            }

            if (regionX == null || regionY == null)
            {
                return false;
            }

            byte[] regionDataX = regionX.GetRegionData().Data;
            byte[] regionDataY = regionY.GetRegionData().Data;

            int length = regionDataX.Length;

            if (length != regionDataY.Length)
            {
                return false;
            }

            for (int i = 0; i < length; i++)
            {
                if (regionDataX[i] != regionDataY[i])
                {
                    return false;
                }
            }

            return true;
        }
    }

    internal class DWMAPIHelper
    {
        [DllImport("dwmapi.dll")]
        public static extern void DwmIsCompositionEnabled(ref bool isEnabled);

        public static bool IsVista
        {
            get
            {
                return Environment.OSVersion.Version.Major >= 6;
            }
        }

        public static bool IsCompositionEnabled
        {
            get
            {
                if (!IsVista)
                {
                    return false;
                }
                bool enabled = false;
                DwmIsCompositionEnabled(ref enabled);
                return enabled;
            }
        }
    }

    
    }
Completed
Last Updated: 15 Aug 2017 10:54 by ADMIN
Steps to reproduce: 
1. Create an application with RadForm and few controls under .Net 4.7 
2. Start the application on 4K monitor (primary screen) with high DPI (200-percent scale)
3. The form is not scaled correctly. Windows do not send the message that the scale factor is changed. 

The issue is observed when the form is initially starting on high DPI (125-percent or higher). 

Unplanned
Last Updated: 27 Dec 2017 06:25 by ADMIN
To reproduce:

public partial class RadRibbonForm1 : Telerik.WinControls.UI.RadRibbonForm
    {
        public RadRibbonForm1()
        {
            InitializeComponent();
            this.AllowAero = true;
            this.RibbonBar.QuickAccessToolbarBelowRibbon = false;
        }
    }

Note: the system buttons not always handle the mouse click.

Workaround: set AllowAero to false OR RibbonBar.QuickAccessToolbarBelowRibbon to true.
Completed
Last Updated: 25 Jan 2019 07:50 by ADMIN
ADMIN
Created by: Dimitar
Comments: 1
Category: Form
Type: Bug Report
3
Use attached to reproduce.
Case 1 - the initial scaling is not correct and the showing dilog1 results in a different DPI each time. 
Case 2 - the AllowTheming property disabled the scaling - see dialog 2.

Workaround:

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);

public class MyRadForm : RadForm
{
    protected override void HandleDpiChanged()
    {
        if (TelerikHelper.IsWindows10CreatorsUpdateOrHigher)
        {
            return;
        }

        base.HandleDpiChanged();
    }

}

Unplanned
Last Updated: 21 May 2026 07:59 by Jarne
Created by: Jonathan
Comments: 5
Category: Form
Type: Bug Report
3
************** Exception Text **************
System.InvalidOperationException: Invoke or BeginInvoke cannot be called on a control until the window handle has been created.
   at System.Windows.Forms.Control.MarshaledInvoke(Control caller, Delegate method, Object[] args, Boolean synchronous)
   at System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
   at System.Windows.Forms.Control.Invoke(Delegate method)
   at Telerik.WinControls.UIAutomation.RadControlBaseRootUIAutomationProvider`1.get_BoundingRectangle()
   at Telerik.WinControls.UIAutomation.Window.RadFormUIAutomationProvider.Form_Resize(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnResize(EventArgs e)
   at System.Windows.Forms.Form.OnResize(EventArgs e)
   at System.Windows.Forms.Control.OnSizeChanged(EventArgs e)
   at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height, Int32 clientWidth, Int32 clientHeight)
   at System.Windows.Forms.Control.UpdateBounds(Int32 x, Int32 y, Int32 width, Int32 height)
   at System.Windows.Forms.Control.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   at System.Windows.Forms.Form.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   at Telerik.WinControls.UI.RadFormControlBase.SetBoundsCore(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   at System.Windows.Forms.Control.SetBounds(Int32 x, Int32 y, Int32 width, Int32 height, BoundsSpecified specified)
   at System.Windows.Forms.Control.set_Size(Size value)
   at Telerik.WinControls.RadMessageBoxForm.SetSizeAndLocations()
   at Telerik.WinControls.RadMessageBoxForm.SetLabelTextAndSize(String text)
   at Telerik.WinControls.RadMessageBoxForm.set_MessageText(String value)
   at Telerik.WinControls.RadMessageBox.ShowCore(IWin32Window owner, String text, String caption, MessageBoxButtons buttons, Bitmap icon, MessageBoxDefaultButton defaultButton, RightToLeft rightToLeft, String detailsText)
   at dummyReader.FormMain.radButtonLogin_Click(Object sender, EventArgs e)
   at System.EventHandler.Invoke(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at Telerik.WinControls.RadControl.OnClick(EventArgs e)
   at Telerik.WinControls.UI.RadButtonBase.buttonElement_Click(Object sender, EventArgs e)
   at Telerik.WinControls.RadElement.OnClick(EventArgs e)
   at Telerik.WinControls.UI.RadButtonItem.OnClick(EventArgs e)
   at Telerik.WinControls.UI.RadButtonElement.OnClick(EventArgs e)
   at Telerik.WinControls.RadElement.DoClick(EventArgs e)
   at Telerik.WinControls.RadElement.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args)
   at Telerik.WinControls.RadItem.RaiseBubbleEvent(RadElement sender, RoutedEventArgs args)
   at Telerik.WinControls.RadElement.RaiseRoutedEvent(RadElement sender, RoutedEventArgs args)
   at Telerik.WinControls.RadElement.DoMouseUp(MouseEventArgs e)
   at Telerik.WinControls.ComponentInputBehavior.OnMouseUp(MouseEventArgs e)
   at Telerik.WinControls.RadControl.OnMouseUp(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at Telerik.WinControls.RadControl.WndProc(Message& m)
   at Telerik.WinControls.UI.RadButton.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Completed
Last Updated: 05 Jun 2017 05:28 by ADMIN
MDI control box does not appear when MDI child forms are hidden istead of closed. This happens the second time you are trying to open a previously hidden form right after hiding another MDI child form.

Workaround:
 First, you should add the RadMDIControlsItemExtended class to your real solution and then add the following code snippet in the constructor of the parent MDI form:
this.rbMain.RibbonBarElement.ButtonsContainer.Children.RemoveAt(2);
RadMDIControlsItemExtended MDIBox = new RadMDIControlsItemExtended();
this.rbMain.RibbonBarElement.ButtonsContainer.Children.Add(MDIBox);
MDIBox.LayoutPropertyChanged();

RadMDIControlsItemExtended.cs:

using System;
using System.Collections.Generic;
using System.Text;
using Telerik.WinControls.UI;
using System.Windows.Forms;
using Telerik.WinControls;
using System.Reflection;

namespace StandardMdiApplication
{
    class RadMDIControlsItemExtended : RadMDIControlsItem
    {
        protected override void OnHostFormLayout()
        {
            base.OnHostFormLayout();

            FieldInfo fi = typeof(RadMDIControlsItem).GetField("hostForm", BindingFlags.NonPublic | BindingFlags.Instance);
            object o = fi.GetValue(this);
            Form hostForm = (Form)o;

            if (hostForm != null && hostForm.IsMdiContainer)
            {
                Form maximizedForm = null;
                foreach (Form form in hostForm.MdiChildren)
                {
                    if (form is ShapedForm)
                    {
                        foreach (Control mdiFormControls in form.Controls)
                        {
                            if (mdiFormControls is RadTitleBar)
                            {
                                mdiFormControls.Visible = form.WindowState != FormWindowState.Maximized;
                            }
                        }
                    }

                    if (form.WindowState == FormWindowState.Maximized && form.Visible && (maximizedForm == null || hostForm.ActiveMdiChild == form))
                    {
                        maximizedForm = form;
                        break;
                    }
                }

                if (maximizedForm == null)
                {
                    this.Visibility = ElementVisibility.Collapsed;
                    this.InvalidateMeasure();
                    return;
                }

                FormBorderStyle borderStyle = (maximizedForm is RadFormControlBase) ? ((RadFormControlBase)maximizedForm).FormBorderStyle : maximizedForm.FormBorderStyle;

                if (maximizedForm != null && maximizedForm.Visible && maximizedForm.ControlBox &&
                    borderStyle != FormBorderStyle.None &&
                    borderStyle != FormBorderStyle.SizableToolWindow &&
                    borderStyle != FormBorderStyle.FixedToolWindow)
                {
                    this.Visibility = ElementVisibility.Visible;
                    this.InvalidateMeasure();
                }
                else
                {
                    this.Visibility = ElementVisibility.Collapsed;
                    this.InvalidateMeasure();
                }
            }
        }
    }
}