Set one of the monitors to use 125% DPI scaling. Start the attached project on a monitor with 100% DPI scaling - the form is expected to be with size 400,400. Move the form to the monitor with 125% DPI scaling. You are expecting the form's size to be 500,500, but it is 507,521. Please refer to the screenshots.
Workaround:
Override the RadForm.ScaleControl method as follows:
Protected Overrides Sub ScaleControl(factor As SizeF, specified As BoundsSpecified)
Dim initialSize As Size = Me.Size
MyBase.ScaleControl(factor, specified)
Me.Size = TelerikDpiHelper.ScaleSize(initialSize, factor)
End Sub
Create a brand new project and add a ShapedForm. Please follow the steps illustrated in the attached gif file.
To reproduce:
public Form1()
{
InitializeComponent();
RadButton bt = new RadButton();
bt.Dock = DockStyle.Right;
bt.Parent = this;
RadTitleBar tb = new RadTitleBar();
tb.Dock = DockStyle.Top;
tb.Parent = this;
tb.Size = new Size(150, 100);
this.Shape = new RoundRectShape(20);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
}