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
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.
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 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: 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: 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: 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.
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
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: 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: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: 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: 05 Jul 2017 11:01 by ADMIN
Workaround: 
((RadFormControlBase)this).MinimumSize = new Size(350, 350);
((RadFormControlBase)this).MaximumSize = new Size(350, 350);
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)
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;

    }
}
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;
    }
}
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.
Completed
Last Updated: 05 Jun 2017 05:28 by ADMIN
MDI control box does not appear when MDI child forms are hidden istead of closed. This happens the second time you are trying to open a previously hidden form right after hiding another MDI child form.

Workaround:
 First, you should add the RadMDIControlsItemExtended class to your real solution and then add the following code snippet in the constructor of the parent MDI form:
this.rbMain.RibbonBarElement.ButtonsContainer.Children.RemoveAt(2);
RadMDIControlsItemExtended MDIBox = new RadMDIControlsItemExtended();
this.rbMain.RibbonBarElement.ButtonsContainer.Children.Add(MDIBox);
MDIBox.LayoutPropertyChanged();

RadMDIControlsItemExtended.cs:

using System;
using System.Collections.Generic;
using System.Text;
using Telerik.WinControls.UI;
using System.Windows.Forms;
using Telerik.WinControls;
using System.Reflection;

namespace StandardMdiApplication
{
    class RadMDIControlsItemExtended : RadMDIControlsItem
    {
        protected override void OnHostFormLayout()
        {
            base.OnHostFormLayout();

            FieldInfo fi = typeof(RadMDIControlsItem).GetField("hostForm", BindingFlags.NonPublic | BindingFlags.Instance);
            object o = fi.GetValue(this);
            Form hostForm = (Form)o;

            if (hostForm != null && hostForm.IsMdiContainer)
            {
                Form maximizedForm = null;
                foreach (Form form in hostForm.MdiChildren)
                {
                    if (form is ShapedForm)
                    {
                        foreach (Control mdiFormControls in form.Controls)
                        {
                            if (mdiFormControls is RadTitleBar)
                            {
                                mdiFormControls.Visible = form.WindowState != FormWindowState.Maximized;
                            }
                        }
                    }

                    if (form.WindowState == FormWindowState.Maximized && form.Visible && (maximizedForm == null || hostForm.ActiveMdiChild == form))
                    {
                        maximizedForm = form;
                        break;
                    }
                }

                if (maximizedForm == null)
                {
                    this.Visibility = ElementVisibility.Collapsed;
                    this.InvalidateMeasure();
                    return;
                }

                FormBorderStyle borderStyle = (maximizedForm is RadFormControlBase) ? ((RadFormControlBase)maximizedForm).FormBorderStyle : maximizedForm.FormBorderStyle;

                if (maximizedForm != null && maximizedForm.Visible && maximizedForm.ControlBox &&
                    borderStyle != FormBorderStyle.None &&
                    borderStyle != FormBorderStyle.SizableToolWindow &&
                    borderStyle != FormBorderStyle.FixedToolWindow)
                {
                    this.Visibility = ElementVisibility.Visible;
                    this.InvalidateMeasure();
                }
                else
                {
                    this.Visibility = ElementVisibility.Collapsed;
                    this.InvalidateMeasure();
                }
            }
        }
    }
}
Completed
Last Updated: 01 Jun 2017 07:56 by ADMIN
To reproduce:

1. Add a RadForm with a RadButton and a RadGridView.
2. Use the following code snippet:
 public Form1()
        {
            InitializeComponent();

            this.AutoScroll = true;           
            this.radGridView1.Location = new Point(10, 500);                   
        }
3. Please refer to the attached gif file.

Workaround:

Use RadScrollablePanel and dock it inside the form.