QSF Forms&Dialogs Message box - show RadMessageBox when click on the right side of the title bar the popup dialog cannot be dragged.
To reproduce: 1. Drop a RadGridView and RadButton on Rad Form. 2. Set gris Anchor property to Top-Right-Bottom-Left and the buttons Anchor property to Right-Bottom. 3. Make sure that the RadForm's size is exactly as your desktop resolution(e.g. my 'RadForm' size and desktop resolution are 1920x1080). 4. Change its 'AutoScaleMode' property's value to 'Font'. 5. Build project. 6. Copy the resulted executable on your desktop and name it 'RadControlsWinFormsApp_Font' 7. Select again the RadForm. 8. Change its 'AutoScaleMode' property's value to 'DPI' 9. Build project. 10. Copy the resulted executable on your desktop and name it 'RadControlsWinFormsApp_DPI' 11. Select again the RadForm 12. Change its 'AutoScaleMode' property's value to 'Inherit' 13. Build project 14. Copy the resulted executable on your desktop and name it 'RadControlsWinFormsApp_Inherit' 15. Change your desktop resolution to a lower one (e.g. I've change it from 1920x1080 to 1600x900) 16. 'Auto-Hide' the Window's taskbar 17. Run the executables and see the results: 17.1 In case of 'RadControlsWinFormsApp_Font' application, you should see that the 'RadGridView' control gets truncated + the lower right 'RadButton' is not visible anymore 17.2 In case of 'RadControlsWinFormsApp_DPI' application, you should see that the 'RadGridView' control gets truncated + the lower right 'RadButton' is not visible anymore 17.3 In case of 'RadControlsWinFormsApp_Inherit' application, you should see the controls on the form as you initially placed them. Also this issue appears on 'Windows XP SP3 x86' and also on 'Windows 7 SP1 x64' . Workaround: - Set AutoScaleMode property to None or Inherit.
If you have a TextBox anchored to Top, Left, Right in a RadForm, the size that this TextBox gets when the form is shown may not be correct. Workaround: set the Dock = Fill setting after adding the controls/toolwindows in the forms
The size of RadForm under Windows XP is incorrect when its initial state as MDI child is Maximized and after that the state is changed to Normal. Workaround: Imports Telerik.WinControls.UI Public Class BaseRadForm Inherits RadForm Private Shared LastWindowState As FormWindowState = FormWindowState.Normal Private Shared suspendClientSizeChangedFlag As Boolean = False Protected Overrides Sub OnResizeBegin(ByVal e As System.EventArgs) Me.MaximumSize = New Size(0, 0) MyBase.OnResizeBegin(e) End Sub Protected Overrides Sub OnActivated(ByVal e As System.EventArgs) Me.MaximumSize = New Size(0, 0) MyBase.OnActivated(e) End Sub Protected Overrides Sub OnDeactivate(ByVal e As System.EventArgs) Me.MaximumSize = New Size(0, 0) MyBase.OnDeactivate(e) End Sub Protected Overrides Sub OnClientSizeChanged(ByVal e As System.EventArgs) Dim osInfo As System.OperatingSystem = System.Environment.OSVersion If (suspendClientSizeChangedFlag OrElse osInfo.Version.Major >= 6) Then Return End If If Not LastWindowState.Equals(Me.WindowState) Then LastWindowState = Me.WindowState If Me.WindowState.Equals(FormWindowState.Normal) Then suspendClientSizeChangedFlag = True Me.MaximumSize = New Size(500, 500) suspendClientSizeChangedFlag = False ElseIf Me.WindowState.Equals(FormWindowState.Maximized) Then Me.MaximumSize = New Size(0, 0) End If Else Me.MaximumSize = New Size(0, 0) End If MyBase.OnClientSizeChanged(e) End Sub End Class
With the following property settings RadForm does not maximize in order to overlap the taskbar: TopMost - true WindowState = Maximized FormBorderStyle = None
To reproduce: - Add four buttons to a RadForm - On each button click use ThemeResolutionService to change the theme => the form size increases in height Workaround: Set the MaximumSize of the form to the current form size prior changing the theme and then remove this setting: private void radButton1_Click(object sender, EventArgs e) { this.MaximumSize = this.Size; ; ThemeResolutionService.ApplicationThemeName = "Office2010Blue"; this.MaximumSize = Size.Empty; }
Workaround: set the property at run time
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.
UPDATED: this is reproducible in a non-MDI scenario is well. Sub New() InitializeComponent() Me.Size = New Size(500, 500) End Sub To reproduce: 1. Add two RadForms - a parent and a child. 2. Set the MinimumSize property of the child form at design time. 3. Use the following code snippet: public partial class ParentForm : RadForm { public ParentForm() { InitializeComponent(); this.IsMdiContainer = true; ChildForm form = new ChildForm(); form.Text = "MDI Child 1"; form.MdiParent = this; form.Size = new System.Drawing.Size(600, 600); form.Show(); } } public partial class ChildForm : Telerik.WinControls.UI.RadForm { public ChildForm() { InitializeComponent(); this.SizeChanged += ChildForm_SizeChanged; } private void ChildForm_SizeChanged(object sender, EventArgs e) { this.Text = "ChildForm " + this.Size.Width + " x " + this.Size.Height; } } When you run the application with version 2015.2 623, you will notice that the child form is loaded with its MinimumSize. However, in the previous version it is loaded with the expected specified Size(600, 600). Workaround: use ShapedForm with titlebar. An alternative solution is to set the RadForm.Size property in the Shown event.
The attached video shows how you can reproduce this. The issue is easily reproducible on a remote Windows 7 machine.
Please refer to the attached sample project and gif file. Workaround: set the AllowTheming property to true.
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.
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
Use attached to reproduce.
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
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.
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
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);
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
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.