Approved
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
Approved
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);
Approved
Last Updated: 20 Nov 2017 13:26 by ADMIN
Approved
Last Updated: 29 Mar 2016 13:26 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: Form
Type: Bug Report
1
Create a custom theme starting from Aqua theme. Change the Font for RadLabelElement-TextPrimitive to "Microsoft Sans Serif, 10pt". Save the theme and apply it to the entire application. Show several times a RadMessageBox with long text. The first time the RadMessageBox is sized correcly to its content. Each next showing, cuts off the text.

Workaround:  the possible workaround that I can suggest is to dispose the RadMessageBox instance after showing it:

Private Sub RadButton1_Click(sender As Object, e As EventArgs) Handles RadButton1.Click
    RadMessageBox.Show(Me, "If you have some veeeeery long sample text, the messagebox " & _
                       "should be resized according to its content.", "Caption", MessageBoxButtons.OK, My.Resources.image)
    RadMessageBox.Instance.Dispose()
End Sub
Approved
Last Updated: 29 Mar 2016 13:30 by ADMIN
When the form border style is set to none the form still has minimum width.
Approved
Last Updated: 30 Mar 2016 09:18 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: Form
Type: Bug Report
1
To reproduce:
-Set RTL via the insane:
RadMessageBox.Instance.RightToLeft = RightToLeft.Yes;

- You will notice that layout is not changed when the messagebox is shown.

Worlaround:
- Use the RadMessageBox show method with the following parameters:

RadMessageBox.Show(this, "test", "caption", MessageBoxButtons.OKCancel, icon, MessageBoxDefaultButton.Button1, RightToLeft.Yes);
Approved
Last Updated: 29 Mar 2016 14:18 by ADMIN
To reproduce: add a RadForm and start the application.

Workaround:
public partial class Form1 : RadForm
{
    public Form1()
    {
        InitializeComponent();
        
    }

    protected override void OnLoad(Size desiredSize)
    {
        this.ElementTree.InitializeRootElement();
        this.RootElement.ApplyShapeToControl = false;
        base.OnLoad(desiredSize);
    }

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        this.RootElement.ApplyShapeToControl = true;
    }
}
Approved
Last Updated: 30 Mar 2016 09:18 by ADMIN
To reproduce:

public Form1()
{
    InitializeComponent();

    RadMessageBox.Instance.AutoSize = true;
}

private void radButton1_Click(object sender, EventArgs e)
{
    string msg = string.Format("Test", (sender as RadButton).Name);
    RadMessageBox.Show(msg, "Error");
}

Note that the size of  RadMessageBox is adjusted automatically to display the whole content. Hence, it is not necessary to set the RadMessageBox.Instance.AutoSize property to true.


Approved
Last Updated: 02 Sep 2016 12:35 by ADMIN
ADMIN
Created by: Dess | Tech Support Engineer, Sr.
Comments: 0
Category: Form
Type: Feature Request
1

			
Approved
Last Updated: 29 Mar 2016 14:15 by ADMIN
If you have an MDI form with controls anchored to bottom-left, and if the form is shown the following way:

Form form = new ChildForm()
form.MdiParent = this;
form.Show();

private void ChildForm_Load(object sender, EventArgs e)
{
         this.ThemeName = "Office2007Black";
}

the anchored controls will be misplaced.

WORKAROUND:

either set the parent after show:
Form form = new ChildForm()
form.Show();
form.MdiParent = this;

or do not use the Load event to apply theme - use the constructor or the Shown event:

public ChildForm()
{ 
         InitializeComponent();
         this.ThemeName = "Office2007Black";
}
Approved
Last Updated: 29 Mar 2016 14:16 by ADMIN
To reproduce:
- Add RadMenu to a panel which is docked to the top.
- Add an MDI child and maximize it.
- You will notice that there is one more set of form buttons visible.

Workaround:
- Leave the menu outside of the panel.
Approved
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);
        }
    }
}
Approved
Last Updated: 29 Mar 2016 14:16 by ADMIN
To reproduce: use the following code snippet:

public Form1()
{
    InitializeComponent();

    this.radDropDownList1.SelectedIndexChanged+=radDropDownList1_SelectedIndexChanged;
    this.radDropDownList1.Items.Add("TelerikMetro");
    this.radDropDownList1.Items.Add("Windows8");
    this.radDropDownList1.Items.Add("VisualStudio2012Dark");

    this.radDropDownList1.SelectedIndex = 1;

    this.SizeChanged+=Form1_SizeChanged;
}

private void radDropDownList1_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
{
    ThemeResolutionService.ApplicationThemeName = this.radDropDownList1.Text;
}

1. Use two monitors and decrease the screen resolution to the main monitor.
2. Run the application from the first monitor and move the form to the second monitor.
3. Resize the form on a way to increase the form's height to be greater than the height of the screen resolution of the main monitor.
4. Change the theme. You will notice that that form is resized.

Workaround:

public Form1()
{
    InitializeComponent();

    this.radDropDownList1.SelectedIndexChanged += radDropDownList1_SelectedIndexChanged;
    this.radDropDownList1.Items.Add("TelerikMetro");
    this.radDropDownList1.Items.Add("Windows8");
    this.radDropDownList1.Items.Add("VisualStudio2012Dark");

    this.radDropDownList1.SelectedIndex = 1;

    this.SizeChanged += Form1_SizeChanged;
}

private void Form1_SizeChanged(object sender, EventArgs e)
{
    if (fSize != Size.Empty)
    {
        this.SizeChanged-= Form1_SizeChanged;
        this.Size = fSize;
        
        this.SizeChanged += Form1_SizeChanged;
    }
}

Size fSize = Size.Empty;

private void radDropDownList1_SelectedIndexChanged(object sender, Telerik.WinControls.UI.Data.PositionChangedEventArgs e)
{
    fSize = this.Size;
    ThemeResolutionService.ApplicationThemeName = this.radDropDownList1.Text;
    fSize=Size.Empty;
}
Approved
Last Updated: 29 Mar 2016 14:16 by ADMIN
To reproduce: 
- Set the MaximizedBounds property so the form takes the entire right part of the screen, the change the windows state at runtime:
private void radButton1_Click(object sender, EventArgs e)
{
    setFormMaximizedBounds(200);
}

private void radButton2_Click(object sender, EventArgs e)
{
    setFormMaximizedBounds(-1);
}
private void setFormMaximizedBounds(int distance)
{
    if (distance >= 0)
    {
        var ownerScreen = Screen.FromControl(this);
        var workingArea = ownerScreen.WorkingArea;
        var x = workingArea.X + distance;
        var y = workingArea.Y;
        var w = workingArea.Width - distance;
        var h = workingArea.Height;
        this.MaximizedBounds = new Rectangle(x, y, w, h);
    }
    else
    {
        this.MaximizedBounds = new Rectangle(0, 0, 0, 0);
    }

    if (this.WindowState == FormWindowState.Maximized)
    {
        this.WindowState = FormWindowState.Normal;
        this.WindowState = FormWindowState.Maximized;
    }
}

Approved
Last Updated: 29 Mar 2016 13:36 by ADMIN
When you have a RadPageViewPage with a TableLayoutPanel inside a RadForm, by changing the theme the TableLayoutPanel is shrinking.

Pleas find attached a sample project.

Workaround: use a ShapedForm instead of RadForm/RadRibbonForm.
Approved
Last Updated: 29 Mar 2016 13:37 by ADMIN
To reproduce:
- Add form and set its AutoScroll property to true. add some controls so the scrollbars appear.
- Dock the form in a smaller window as a MDI child.

Workaround -  Use scrollable panel.
Approved
Last Updated: 29 Mar 2016 14:18 by ADMIN
To reproduce:
Use the following method to add a form with a textbox to a panel:
Private Sub AddPage(ByRef f As Form)
    Try
        pnlScreenContainer.SuspendUpdate()
        f.TopLevel = False
        f.Visible = False
        f.Dock = DockStyle.Fill
        pnlScreenContainer.Controls.Add(f)
        f.Visible = True
        f.BringToFront()
        f.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        f.Show()

        f.Activate()
    Catch
    End Try
    pnlScreenContainer.ResumeUpdate()
End Sub

Workaround:
- Use RadTextBoxControl instead.

Approved
Last Updated: 29 Mar 2016 14:18 by ADMIN
To reproduce:

public Form1()
{
    InitializeComponent();
    this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
}

Although the user is not allowed to resize the form from the form's borders, it is possible to do it by the context menu.

Workaround:

[DllImport("user32.dll")]
static extern bool EnableMenuItem(IntPtr hMenu, uint uIDEnableItem, uint uEnable);

internal const UInt32 MF_DISABLED = 0x00000002;

internal const UInt32 SC_SIZE = 0xF000;

internal const UInt32 WM_INITMENUPOPUP = 0x0117;

protected override void WndProc(ref Message m)
{
    if (m.Msg == WM_INITMENUPOPUP && (((int)m.LParam & 0x10000) != 0))
    {
        EnableMenuItem(m.WParam, SC_SIZE, MF_DISABLED);
    }

    base.WndProc(ref m);
}
Approved
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.