Unplanned
Last Updated: 26 May 2020 09:09 by ADMIN

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:

Unplanned
Last Updated: 21 May 2020 07:48 by ADMIN

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.

 

 

Unplanned
Last Updated: 02 Apr 2020 09:18 by ADMIN
Created by: Stoyan
Comments: 1
Category: Form
Type: Bug Report
0

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

 

Unplanned
Last Updated: 24 Mar 2020 15:05 by ADMIN
The issue is that our system will not be fully maximized when using it on Windows 7, while on our PCs here (windows 10), it's fine.
Unplanned
Last Updated: 16 May 2019 05:12 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 1
Category: Form
Type: Bug Report
0
To reproduce: Add a RadForm and at design time in the Properties section of Visual Studio try to customize some properties of the RadForm >> FormElement >> TitleBar, e.g. Padding, ForeColor. You will notice that even though you save the changes, they are not serialized. Thus, when you run the application, none of the changes are applied.

Workaround: set the changes programmatically at run time.
Unplanned
Last Updated: 06 Dec 2018 07:15 by ADMIN
To reproduce:
- Set the StartPosition to CenterScreen
- Show the form on a HDPI monitor

Workaround:
var form = new RadForm();

float dpiX, dpiY;
Graphics graphics = this.CreateGraphics();
dpiX = graphics.DpiX /100;
dpiY = graphics.DpiY /100;

form.StartPosition = FormStartPosition.Manual;
var monSize = Screen.FromControl(this).Bounds;
var centerX = (monSize.Width / 2) - (form.DesktopBounds.Width * dpiX / 2);
var centerY = (monSize.Height / 2) - (form.DesktopBounds.Height * dpiY/ 2);
form.Location = new Point((int)centerX,(int) centerY);
form.Show();


Unplanned
Last Updated: 11 Sep 2018 11:50 by ADMIN
To reproduce: run the sample project. It ends up leaving significant blank space on the right and the bottom, whereas the normal MS Form does NOT do this and works right.

Workaround: in the Load event you can adjust the size with 10/15 px by setting the MaximumSize:

        private void Form1_Load(object sender, EventArgs e)
        {
            this.MaximumSize = new Size(this.Size.Width - 15, this.Size.Height - 10);
        }
Unplanned
Last Updated: 16 Jul 2018 11:16 by ADMIN
How to reproduce: add a RadRibbonForm and set its MaximizeBox, MinimizeBox properties to false. Set the HelpButton property of the form to true and change its Icon. You will notice that the designer in Visual Studio has not updated.

Workaround: use the element hierarchy editor and manually change the visibility of the elements.
Unplanned
Last Updated: 28 Feb 2018 13:55 by ADMIN
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.
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: 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: 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;
        }
Unplanned
Last Updated: 20 Nov 2017 15:48 by ADMIN
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 13:26 by ADMIN
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

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
Unplanned
Last Updated: 19 Jun 2017 11:13 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: Form
Type: Bug Report
0
Please refer to the attached screenshot and sample project.

Workaround: call the RadForm.EndInit method before showing the form.
Unplanned
Last Updated: 15 Jun 2017 14:12 by ADMIN
To reproduce: Please refer to the attached screenshots and sample project:

1. Disable Aero
2. Change to Windows Classic
3. Run the provided project

Workaround: change to Windows 7 aero Theme with disabled transparency.
Unplanned
Last Updated: 17 Feb 2017 13:34 by Vladimir
How to reproduce: 
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        this.IsMdiContainer = true;
        this.Load += Form1_Load;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        RadForm form = new RadForm();
        form.Text = "MDI Child 1";
        form.MdiParent = this;
        form.Show();
    }

    private void radButton1_Click(object sender, EventArgs e)
    {
        RadForm activeChild = this.ActiveMdiChild as RadForm;
        if (activeChild == null)
        {
            MessageBox.Show("no active form child found!");
            return;
        }
        else
        {
            SaveAsBitmap(activeChild, activeChild + ".Jpeg");
            MessageBox.Show("Screen Captured successfully.");
        }
    }

    public void SaveAsBitmap(Form form, string fileName)
    {
        SaveFileDialog dialog = new SaveFileDialog();
        dialog.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif";
        if (dialog.ShowDialog() == DialogResult.OK)
        {
            Bitmap bmp = new Bitmap(form.Width, form.Height);
            form.DrawToBitmap(bmp, new Rectangle(0, 0, form.Width, form.Height));
            bmp.Save(dialog.FileName, ImageFormat.Jpeg);
        }
    }
}

Workaround:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        this.IsMdiContainer = true;
        this.Load += Form1_Load;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        RadForm form = new RadForm();
        form.Text = "MDI Child 1";
        form.MdiParent = this;
        form.Show();
    }

    private void radButton1_Click(object sender, EventArgs e)
    {
        RadForm activeChild = this.ActiveMdiChild as RadForm;
        if (activeChild == null)
        {
            MessageBox.Show("no active form child found!");
            return;
        }
        else
        {
            SaveAsBitmap(activeChild, activeChild + ".Jpeg");
            MessageBox.Show("Screen Captured successfully.");
        }
    }

    public void SaveAsBitmap(Form form, string fileName)
    {
        Bitmap bmpScreenshot = new Bitmap(form.Bounds.Width, form.Bounds.Height, PixelFormat.Format32bppArgb);
        Graphics gfxScreenshot = Graphics.FromImage(bmpScreenshot);
        Point pt = form.Parent.PointToScreen(form.Location);
        gfxScreenshot.CopyFromScreen(pt.X, pt.Y, 0, 0, form.Bounds.Size, CopyPixelOperation.SourceCopy);
        SaveFileDialog saveImageDialog = new SaveFileDialog();
        saveImageDialog.Title = "Select output file:";
        saveImageDialog.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif";
        if (saveImageDialog.ShowDialog() == DialogResult.OK)
        {
            bmpScreenshot.Save(saveImageDialog.FileName, ImageFormat.Png);
        }
    }
}
1 2 3