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). 

Completed
Last Updated: 14 Sep 2017 09:40 by Chian Yuh
Workaround:
 Sub New()

     InitializeComponent()

     AddHandler RadMessageBox.Instance.LocationChanged, AddressOf MsgLocationChanged
 End Sub
 Private Sub RadTreeView1_NodeMouseClick(sender As Object, e As Telerik.WinControls.UI.RadTreeViewEventArgs) Handles RadTreeView1.NodeMouseClick
     If RadMessageBox.Show(Me, String.Format("Change Project to {0}{1}{0}?", Chr(34), e.Node.Text), "Change Project", MessageBoxButtons.YesNo, _
                           RadMessageIcon.Question, MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.Yes Then
     End If

 End Sub

 Private Sub MsgLocationChanged(sender As Object, e As EventArgs)
     RadMessageBox.Instance.Location = New Point(Me.Location.X + Me.Width / 2, Me.Location.Y + Me.Height / 2)
 End Sub

Completed
Last Updated: 15 Aug 2017 10:28 by ADMIN
Steps to reproduce:

1. Build an application targeting x64 platform.

2. Setup your monitors such that one has negative coordinates.

3. Run the application and move a form to the negative coordinates space.

4. You will see a System.OverflowException.
Completed
Last Updated: 19 Jun 2017 12:16 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Form
Type: Bug Report
2
Please refer to the attached sample project and gif file.

Workaround: set the AllowTheming property to true.
Completed
Last Updated: 19 Jun 2017 12:10 by ADMIN
To reproduce:
public partial class RadForm1 : MyForm
{
    public RadForm1()
    {
        InitializeComponent();
    }
}
public class MyForm : RadForm
{
    public MyForm()
    {
        this.AllowTheming = false;

    }
}
Declined
Last Updated: 14 Aug 2017 13:11 by ADMIN
To reproduce:
- Add 3 MDI child forms with a lot of gauges.
- Set their WindowState to maximized.
- Show each upon a button click.

Workaround:
Set the state of all forms to normal, before adding a new maximized 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.
Declined
Last Updated: 06 Feb 2017 09:43 by ADMIN
1. 2 Monitors configured. The primary display is 16:9 (laptop), the second display has an aspect ratio is 16:10 (desktop monitor).
2. move sample Telerik WinForm app to secondary display (desktop monitor)
3. Click on maximize button

Result: Application width is more then monitor size, as result application is truncated from right.

The same happens with "RadControls for WinForms Q1 2010 Demos" which I have installed on my PC
Completed
Last Updated: 19 Jun 2017 12:03 by ADMIN
Please refer to the attached sample project.

Workaround:
this.SizeChanged += RadForm1_SizeChanged;
private void RadForm1_SizeChanged(object sender, EventArgs e)
{
    if (this.WindowState == FormWindowState.Maximized  && !this.IsMdiChild)
    {
        this.Region = null;
    }
}
Completed
Last Updated: 29 Nov 2016 11:32 by ADMIN
How to reproduce:
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        this.IsMdiContainer = true;
    }

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

public partial class RadForm2 : Telerik.WinControls.UI.RadForm
{
    public RadForm2()
    {
        InitializeComponent();

        this.AllowTheming = false;
    }
}

Workaround: override the ProcessCaptureChangeRequested method in the MDI child form
public partial class RadForm2 : Telerik.WinControls.UI.RadForm
{
    public RadForm2()
    {
        InitializeComponent();

        this.AllowTheming = false;
    }

    protected override bool ProcessCaptureChangeRequested(RadElement element, bool capture)
    {
        if (this.FormElement == null)
        {
            return this.Capture = capture;
        }

        return base.ProcessCaptureChangeRequested(element, capture);
    }
}
Unplanned
Last Updated: 17 Oct 2016 05:47 by ADMIN
The attached video shows how you can reproduce this.

The issue is easily reproducible on a remote Windows 7 machine.
Completed
Last Updated: 01 Jun 2017 07:55 by ADMIN
How to reproduce: check video and attached project

Workaround: instead of setting the AutoScroll to true of the child form use a RadScrollablePanel
Completed
Last Updated: 20 Feb 2018 13:55 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 2
Category: Form
Type: Bug Report
1
To reproduce:

1. Create a RadForm - Form1
2. Change its BackColor at design time
3. Create another RadForm - Form2 
4. Open it at design time. It is expected to have the BackColor coming from the parent form.

Workaround: Set the color in the form's constructor instead of at design time.
Unplanned
Last Updated: 02 Sep 2016 12:35 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Form
Type: Feature Request
1

			
Declined
Last Updated: 12 Sep 2016 05:24 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 1
Category: Form
Type: Bug Report
0
To reproduce: disable Aero on a Windows7 machine and use the following code:

public Form1()
{
    InitializeComponent();

    this.IsMdiContainer = true;

    Form MSform = new Form();
    MSform.Text = "Form MDI Child 1";
    MSform.MdiParent = this;
    MSform.Show();

    MSform = new Form();
    MSform.Text = "Form MDI Child 2";
    MSform.MdiParent = this;
    MSform.Show();
    
    MSform = new Form();
    MSform.Text = "Form MDI Child 3";
    MSform.MdiParent = this;
    MSform.Show();

    RadForm form = new RadForm();
    form.Text = "RadForm MDI Child 1";
    form.MdiParent = this;
    form.Show();

    form = new RadForm();
    form.Text = " RadFormMDI Child 2";
    form.MdiParent = this;
    form.Show();
    
    form = new RadForm();
    form.Text = " RadFormMDI Child 3";
    form.MdiParent = this;
    form.Show();
}

private void Form1_Shown(object sender, EventArgs e)
{
    this.LayoutMdi(MdiLayout.TileHorizontal);
}

private void radButton1_Click(object sender, EventArgs e)
{
    this.LayoutMdi(MdiLayout.TileVertical);
}

private void radButton2_Click(object sender, EventArgs e)
{
    this.LayoutMdi(MdiLayout.Cascade);
}

private void radButton3_Click(object sender, EventArgs e)
{
    this.LayoutMdi(MdiLayout.TileHorizontal);
}

Workaround: set the RadForm.AllowTheming property to false.

Workaround 2:  public class MyForm : RadForm
 {
     protected override CreateParams CreateParams
     {
         get
         {
             CreateParams par = base.CreateParams;
             par.Style |= NativeMethods.WS_CAPTION;
             return par;
         }
     }
 }

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: 29 Jun 2016 05:49 by ADMIN
How to reproduce:
public partial class Form1 : Form
{
    Timer timer;

    public Form1()
    {
        InitializeComponent();

        timer = new Timer();
        timer.Interval = 1000; 
        timer.Tick += new EventHandler(MyTimer_Tick);
        timer.Start();
    }

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

        RadMessageBox.Show("Shown");
    }

    private void MyTimer_Tick(object sender, EventArgs e)
    {
        RadMessageBox.Show("Form closed");
        this.Close();
    }
}

Workaround: dispose the old instance
private void MyTimer_Tick(object sender, EventArgs e)
{
    RadMessageBox.Instance.Dispose();

    RadMessageBox.Show("Form closed");
    this.Close();
}
Completed
Last Updated: 14 Jun 2016 06:38 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Principal
Comments: 0
Category: Form
Type: Bug Report
0
Please refer to the attached sample project.

Workaround: call the Close method in the Shown event.
Completed
Last Updated: 09 Jun 2016 05:02 by ADMIN
Steps to reproduce: 
1. Create Telerik WinForms Application and add two RadForm
2. Select one of forms and set the IsMdiContainer property to true 
3. Select the child form. Open the Properties window and set the following properties at design time: 
 - WindowState to Maximized 
 - ThemeName to Windows8 or any other theme 
4. Run the application and show the child form. The child form is cut off instead maximized. 

Workaround: 
1. Reset the WindowState property at design time
2. Subscribe to the Form`s Load event and set the WindowState property 
private void RadForm2_Load(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Maximized;
}