Please run the sample project on 100% and 150% DPI scaling. You will notice that with 100% the shown form is centered to its parent, but with 150% it is shifted:
VS 2022, Telerik 2022.2.510, NET 6.0 (sample app is attached)
1. Creating sample Telerik WinForms App.
2. Add a RadTextBox
3. Load Event with code
radTextBox1.Text = this.Size.ToString();
4. Run the App
5. Close the App
6. Move the RadTextBox Control at design time.
In design, the height of the form is 2 pixels taller.
Run these steps in a loop. After a few hours of work, the form exceeds the size of the screen.
To reproduce:
Workaround:
In the OnLoad method of RadForm do through all nested RadControls inside the UserControl and downscale them to the same DPI as the RadForm.
Updating from Version 2022.1.118 to 2022.1.222 breaks high dpi layout for existing dialogs at 150% DPI scaling:
Expected:
Actual:
Workaround: Use the MS Form
1. Create a new Form that inherits from RadForm and add some rad controls. 2. Checkin the file in your source control system 3. Open the form in design time will cause checkout
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; } } } }
To reproduce: - Create a RadForm with a public label in it. - Inherit the new form and change the label text. - Open the second form at design time - the file status is changed to modified.
With the following property settings RadForm does not maximize in order to overlap the taskbar: TopMost - true WindowState = Maximized FormBorderStyle = None
To reproduce:
1. Use the 2020.3.1020 Telerik version
2. Show RadForm and set MinimumSize property
3. Double Click the Title Bar to maximize the form or click the Maximize button
4. Double Click the Title Bar again and see that no border is shown.
Thanks
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.
Using the spellchecker, and the popup when using themes overlaps as per image below. If i make :
e.SpellingForm.Controls("buttonIgnoreAll").Visible = False
Regards
Gavin
Hi,
I am working on making our Winforms UI projects DPI aware to clean up fuzzy text in Windows 10.
I'm having an odd issue with some layouts. In one example, we have a simple form dialog that will grow with a label inside (similar to a windows message box). THe label is autosizing itself and has a minimum and maximum size set. This dialog is working fine without the DPI awareness, however, after enabling, the RadForm resizes to some strange size. I tried to investigate and it seems that the label is resizing to some large size and not respecting it's maximums (though this doesn't show when rendering as I've switched off the borders).
The label is resizing the form via anchors. I think probably there is a better way at layout here, but I'm wondering if the wild resizing may be considered a bug.
See images below.
I've also attached a project that reproduces this issue.
Dear support,
i have a RadForm and custom theme.
To reproduce the problem:
1. Configure 2. montior to have 200% Scale (Monitor2).
2. Start the solution on your main Monitor1 (with 100% Scale)
3. Click on button "radbutton1".
4. Move the shown RadForm1 from Monitor1 to Monitor2 and release it. The form will scale automatically.
5. Now move the RadForm1 back to the main Monitor1
Now you can see the effect from Form.png.
What is causing it and how to remove it?
The problem has some connection with the Anchor options from radButton1 and radButton2.
If i set them to "Top, Left", then the effect does not appear, but this way i have to set their location manually, or is there other option?
Regards,
Stoyan
When a set of RadForms is used inside an MDI Form and are maximized, after some time, the child forms flicker continuously.
See the attached video.
The same behaviour DOES NOT happen when regular Windows Form is used.
The issue exists in Fluent, Material, and Crystal themes.
To reproduce:
Create an MDI application and maximize the child form.
The child form buttons are not styled.
Dear Admins.
I'm developing an application which have Parent (MDI) and some child forms.
Using Telerik UI for WinForms R2 2019 SP1.
Code for Opening the Form.
01.
private
void
MnuItemSuppliers_Click(
object
sender, EventArgs e)
02.
{
03.
if
(!IsFormOpen(
typeof
(frmSupplierList)))
04.
{
05.
CloseChildForm();
06.
frmSupplierList m_frmListSupplier =
new
frmSupplierList
07.
{
08.
Width =
this
.Width,
09.
Height =
this
.Height,
10.
MdiParent =
this
,
11.
MaximizeBox =
false
,
12.
MinimizeBox =
false
,
13.
ControlBox =
false
,
14.
WindowState = FormWindowState.Maximized
15.
};
16.
m_frmListSupplier.Show();
17.
}
18.
}
But Still i can see the ControlBox and Minimize and Maximize Buttons on the Top right Corner.
Image Attached.
When i Use the Same Coding and Properties using Standard Windows Forms. It behave like as required.
Please help what is wrong with this.