Completed
Last Updated: 19 Oct 2020 13:35 by ADMIN
Release R3 2020 SP1
ADMIN
Created by: Dimitar
Comments: 0
Category: Form
Type: Bug Report
0
To reproduce:
- Hide the border and change the BackColor of the form. 
- Dock a MenuStrip to the top. 
- You will notice that there are 2 pixels on the left and right sides of the menu. 

Project is attached as well.
Completed
Last Updated: 23 May 2019 13:19 by ADMIN
Release R2 2019 SP1 (LIB 2019.2.527)
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Form
Type: Bug Report
5
A possible workaround is to set the RadControl.EnableDpiScaling property to false.
static class Program
{
    /// <summary>
    /// The main entry point for the application.
    /// </summary>
    [STAThread]
    static void Main()
    {
        RadControl.EnableDpiScaling = false;

        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new RadForm1());
    }
}

Another workaround is to mark the application as DPI-aware: https://docs.telerik.com/devtools/winforms/telerik-presentation-framework/dpi-support
Completed
Last Updated: 30 Oct 2017 06:39 by ADMIN
Workaround:   
  Sub New()
         
        InitializeComponent()
        AddHandler RadMessageBox.Instance.LocationChanged, AddressOf MsgLocationChanged
    End Sub
    Private Sub MsgLocationChanged(sender As Object, e As EventArgs)
        RadMessageBox.Instance.Location = New Point(Me.Location.X + Me.Width / 2 - RadMessageBox.Instance.Width / 2, _
                                                    Me.Location.Y + Me.Height / 2)
    End Sub
Unplanned
Last Updated: 26 Feb 2018 16:24 by ADMIN
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: 20 Nov 2017 13:26 by ADMIN
Completed
Last Updated: 15 May 2024 07:49 by ADMIN
Release 2024.2.514 (2024 Q2)
How to reproduce: just create a RadForm, in the designer change its size and set its FormBorderStyle property to be None. When the form loads its size will be increased.

Workaround: set its MaximumSize property
this.MaximumSize = new Size(400, 80);
Unplanned
Last Updated: 20 Nov 2017 15:53 by ADMIN
To reproduce: follow the steps from the attached gif file.

Workaround:

        public RadForm1()
        {
            InitializeComponent();

            ((RadRibbonFormBehavior)this.FormBehavior).AllowTheming = false;
        }
Declined
Last Updated: 15 Dec 2017 09:49 by ADMIN
Please refer to the attached sample project.
 
Workaround: Initialize the form just before showing it.
Completed
Last Updated: 25 Jun 2018 06:46 by Dimitar
To reproduce: Create a RadForm, select a material theme from the ToolBox, and apply the theme to the Form. Set the size of the Form to anything simple like (300, 300) and then save and close out the Form. When you reopen the same Form it will grow to (304, 302).
Please refer to the attached gif file.

Workaround: set the size at run time.
Unplanned
Last Updated: 14 Aug 2017 11:18 by ADMIN
The issue can be reproduced by creating a form with a width of 1200 pixels in an application that is DPI aware. Then the project is run on a tablet with low resolution and an increased DPI, e.g. 1024 x 768 and scaling 120%.

Workaround:
Public Class RadForm1
    Sub New()

        InitializeComponent()

        Dim g = Me.CreateGraphics()
        Dim scale = 96.0 / g.DpiX
        Me.Size = New Size(scale * Me.ClientSize.Width, scale * Me.ClientSize.Height)
        g.Dispose()
        Me.WindowState = FormWindowState.Normal
    End Sub
End Class
Completed
Last Updated: 11 Jul 2017 13:02 by ADMIN
How to reproduce:
Add a StatusStrip to the form and set the FormBorderStyle to FixedSingle, you will notice that the form can be resized using the sizing grip of the status strip

Workaround:
public partial class Form2 : RadForm
{
    public Form2()
    {
        InitializeComponent();

        this.FormBorderStyle = FormBorderStyle.FixedSingle;
    }

    protected override FormControlBehavior InitializeFormBehavior()
    {
        return new CustomRadFormBehavior(this, true);
    }
}

public class CustomRadFormBehavior : RadFormBehavior
{
    public CustomRadFormBehavior(IComponentTreeHandler treeHandler, bool shouldCreateChildren)
        : base(treeHandler, shouldCreateChildren)
    { }

    public override bool HandleWndProc(ref Message m)
    {
        if ((m.Msg) == NativeMethods.WM_NCLBUTTONDOWN)
        {

            Point screenLocation = new Point(m.LParam.ToInt32());
            Point location = this.GetMappedWindowPoint(screenLocation);

            RadElement itemUnderMouse = this.Form.ElementTree.GetElementAtPoint(location);
            MouseEventArgs args = new MouseEventArgs(Control.MouseButtons, 1, location.X, location.Y, 0);

            bool isFixed = false;
            if (this.Form != null &&
                this.Form.FormBorderStyle == FormBorderStyle.Fixed3D ||
                this.Form.FormBorderStyle == FormBorderStyle.FixedDialog ||
                this.Form.FormBorderStyle == FormBorderStyle.FixedSingle ||
                this.Form.FormBorderStyle == FormBorderStyle.FixedToolWindow)
            {
                isFixed = true;
            }

            if (isFixed &&
                itemUnderMouse != null &&
                itemUnderMouse.Enabled &&
                !object.ReferenceEquals(itemUnderMouse, (this.Form.RootElement.Children[0] as RadFormElement).TitleBar))
            {
                return true;
            }
        }

        return base.HandleWndProc(ref m);
    }
}

Completed
Last Updated: 11 Jul 2017 13:03 by ADMIN
How to reproduce:
public partial class RadForm1 : RadForm
{
    public RadForm1()
    {
        InitializeComponent();

        this.AllowTheming = false;

        this.FormBorderStyle = FormBorderStyle.FixedSingle;
    }
}

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

        this.AllowTheming = false;

        this.FormBorderStyle = FormBorderStyle.FixedSingle;
    }

    protected override FormControlBehavior InitializeFormBehavior()
    {
        return new MyRadFormBehavior(this, true);
    }
}

public class MyRadFormBehavior : RadFormBehavior
{
    public MyRadFormBehavior(IComponentTreeHandler treeHandler, bool shouldCreateChildren)
        : base(treeHandler, shouldCreateChildren)
    { }

    public override bool HandleWndProc(ref System.Windows.Forms.Message m)
    {
        BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.NonPublic;
        if (m.Msg == NativeMethods.WM_NCHITTEST)
        {
            typeof(RadFormBehavior).GetMethod("OnWMNCHittest", bindingFlags).Invoke(this, new object[] { m });
            return true;
        }

        if (!this.AllowTheming)
        {
            return false;
        }

        return base.HandleWndProc(ref m);
    }
}
Completed
Last Updated: 15 Aug 2017 11:03 by ADMIN
Workaround: change all RadForms to inherit the following custom base form
public class RadFormBase : RadForm
{
    protected override void OnLoad(EventArgs e)
    {
        if (this.IsDesignMode)
        {
            this.BackColor = Color.Empty;
        }

        base.OnLoad(e);
    }

    public override Color BackColor
    {
        get
        {
            return this.ElementTree.RootElement.BackColor;
        }
        set
        {
            if (value == Color.Empty)
            {
                this.ElementTree.RootElement.ResetValue(VisualElement.BackColorProperty, ValueResetFlags.Local);
            }
            else
            {
                this.ElementTree.RootElement.BackColor = value;
            }
        }
    }
}
Completed
Last Updated: 27 Sep 2017 09:40 by ADMIN
 Use attached to reproduce.

The exception message: "A circular control reference has been made. A control cannot be owned by or parented to itself.".

Workaround:
Do not specify the owner when showing the message box.
Unplanned
Last Updated: 17 Apr 2024 14:44 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Form
Type: Bug Report
1
Please refer to the attached screenshot and sample project.

Workaround: call the RadForm.EndInit method before showing the form.
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.
Unplanned
Last Updated: 15 Aug 2017 09:35 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Form
Type: Feature Request
2
RadForm has AllowTheming property which enables/disables the aero effects of RadForm and when you set it to false our theming mechanism is disabled. Add a property,e.g. ThemeResolutionService.ApplicationAllowTheming, which will control the AllowTheming of all forms in the application. In addition, RadForm should have a new property,e.g. EnableApplicationAllowTheming, which will control whether the respective form should respect the global property or not.

Case 1: 
ThemeResolutionService.ApplicationAllowTheming = true
RadForm1.EnableApplicationAllowTheming=true //this property is set to true; this indicates that the local AllowTheming property WON'T be respected and the global property ApplicationAllowTheming  takes effect
RadForm1.AllowTheming=false

RadForm1 has theming.

RadForm2.EnableApplicationAllowTheming=false //this property is set to false; this indicates that the local AllowTheming WILL be respected and the global property ApplicationAllowTheming  DOESN'T take effect
RadForm2.AllowTheming=false

RadForm2 doesn't have theming.

Case 2:
ThemeResolutionService.ApplicationAllowTheming = false
RadForm1.EnableApplicationAllowTheming=true //this property is set to true; this indicates that the local AllowTheming property WON'T be respected and the global property ApplicationAllowTheming  takes effect
RadForm1.AllowTheming=true

RadForm1 doesn't have theming.

RadForm2.EnableApplicationAllowTheming=false //this property is set to false; this indicates that the local AllowTheming WILL be respected and the global property ApplicationAllowTheming  DOESN'T take effect
RadForm2.AllowTheming=true

RadForm2 has theming.

Note: the same logic is implemented for the ThemeResolutionService.ApplicationThemeName: http://docs.telerik.com/devtools/winforms/themes/using-a-default-theme-for-the-entire-application
Completed
Last Updated: 22 May 2019 10:59 by ADMIN
Release R1 2018
Completed
Last Updated: 15 Aug 2017 10:54 by Alexander
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 1
Category: Form
Type: Bug Report
1
To reproduce: run the attached sample project and refer to the screenshot.

Workaround: 
((TextPrimitive)this.FormElement.TitleBar.CaptionElement).UseCompatibleTextRendering=true; 
or set the RadForm.AllowTheming property to false.
Completed
Last Updated: 19 Jun 2017 12:32 by ADMIN
Telerik UI overflow exception with certain pointing devices, especially the LogiTech TouchPad T650. (an Int32 somewhere needs to be an Int64?)

StackTrace:

at Telerik.WinControls.UI.RadFormBehavior.OnWMNCHittest(Message& m)
at Telerik.WinControls.UI.RadFormBehavior.HandleWndProc(Message& m)
at Telerik.WinControls.UI.RadFormControlBase.WndProc(Message& m)