The issue reproduces if the panels are collapsed before auto hiding the windows. When the window is later displayed the collapsed panels cannot be expanded. Check the attached video: Workaround: Cache the old bounds. public partial class Form1 : Form { public Form1() { InitializeComponent(); this.radDock1.AutoHideWindowDisplaying += RadDock1_AutoHideWindowDisplaying; this.radDock1.AutoHideWindowDisplayed += RadDock1_AutoHideWindowDisplayed; this.radCollapsiblePanel1.PanelContainer.BackColor = Color.LightGreen; } Rectangle cache; private void RadDock1_AutoHideWindowDisplayed(object sender, DockWindowEventArgs e) { this.radCollapsiblePanel1.OwnerBoundsCache = this.cache; } private void RadDock1_AutoHideWindowDisplaying(object sender, Telerik.WinControls.UI.Docking.AutoHideWindowDisplayingEventArgs e) { this.cache = this.radCollapsiblePanel1.OwnerBoundsCache; } }
To reproduce: 1. Place label on form. 2. Set text alignment property to middle center. 3. Change label property auto-size to false. 4. Resize control (width wise). 5. Text still sits on left side of the label and not the middle of the label. The text is properly aligned at runtime.
To reproduce: add a RadCollapsiblePanel and insert several controls at run time with specifying the location and size of the inner controls. Set the ContentSizingMode property to CollapsiblePanelContentSizingMode.FitToContentHeight | CollapsiblePanelContentSizingMode.FitToContentWidth. When you run the application you will notice that the inner controls are cut off and the panel is not resized according to its content.
Workaround:
Before:

After:

public RadForm2()
{
InitializeComponent();
this.radCollapsiblePanel1.ContentSizingMode = CollapsiblePanelContentSizingMode.None;
}
private void RadForm2_Load(object sender, EventArgs e)
{
SizeF fillElementSize = this.radCollapsiblePanel1.Size;
int maxY = int.MinValue;
int maxX = int.MinValue;
int maxControlWidth = int.MinValue;
int maxControlHeight = int.MinValue;
bool fitToHeight = true;
bool fitToWidth = true;
Padding panelContainerPadding = this.radCollapsiblePanel1.ControlsContainer.PanelContainer.Padding;
foreach (Control control in this.radCollapsiblePanel1.ControlsContainer.PanelContainer.Controls)
{
if (fitToHeight)
{
maxY = Math.Max(maxY, control.Bounds.Location.Y + control.Bounds.Size.Height + control.Margin.Bottom + panelContainerPadding.Bottom +
this.radCollapsiblePanel1.ControlsContainer.VerticalScrollbar.Value);
maxControlWidth = Math.Max(maxControlWidth, control.Width);
}
if (fitToWidth)
{
maxX = Math.Max(maxX, control.Bounds.Location.X + control.Bounds.Size.Width + control.Margin.Right + panelContainerPadding.Right +
this.radCollapsiblePanel1.ControlsContainer.HorizontalScrollbar.Value);
maxControlHeight = Math.Max(maxControlHeight, control.Height);
}
}
if (fitToHeight)
{
bool horizontalScrollbarNeeded = fillElementSize.Width <= maxY + maxControlWidth;
if (horizontalScrollbarNeeded)
{
this.radCollapsiblePanel1.ControlsContainer.HorizontalScrollBarState = ScrollState.AlwaysHide;
}
else
{
this.radCollapsiblePanel1.ControlsContainer.HorizontalScrollBarState = ScrollState.AutoHide;
}
fillElementSize.Height = maxY;
}
if (fitToWidth)
{
bool verticalScrollbarNeeded = fillElementSize.Height <= maxX + maxControlHeight;
if (verticalScrollbarNeeded)
{
this.radCollapsiblePanel1.ControlsContainer.VerticalScrollBarState = ScrollState.AlwaysHide;
}
else
{
this.radCollapsiblePanel1.ControlsContainer.VerticalScrollBarState = ScrollState.AutoHide;
}
fillElementSize.Width = maxX;
}
fillElementSize.Height += this.radCollapsiblePanel1.CollapsiblePanelElement.HeaderElement.Size.Height + 5;
this.radCollapsiblePanel1.MinimumSize = this.radCollapsiblePanel1.MaximumSize = this.radCollapsiblePanel1.Size = fillElementSize.ToSize();
}
How to reproduce: check the attached video Workaround: use the attached custom theme
Please refer to the attached gif file and sample project. The keyboard navigation is enabled for the items in RadCheckedListBox. However, if you press "N" (without pressing ALT) it doesn't select an item starting with "N" but selects the text box since the RadLabel's mnemonic key is "N". Workaround: Public Class MyLabel Inherits RadLabel Protected Overrides Function ProcessMnemonic(charCode As Char) As Boolean If Not (Control.ModifierKeys & Keys.Alt) <> Keys.Alt Then Return False End If Return MyBase.ProcessMnemonic(charCode) End Function End Class
To reproduce: Set at design or at run time the TextAlignment property of RadLabel to TopLeft. nothing happens. Workaround: Set the TextAlignment to MiddleLeft and then to TopLeft: this.radLabel1.TextAlignment = ContentAlignment.Middleleft; this.radLabel1.TextAlignment = ContentAlignment.TopLeft;
How to reproduce: CollapsiblePanelHeaderElement headerElement = this.radCollapsiblePanel1.CollapsiblePanelElement.HeaderElement; RadTextBoxElement txtBox = new RadTextBoxElement(); headerElement.Children.Add(txtBox); Workaround: use RadTextBoxControlElement
- Set RadForms Localizable to true - Add RadScrollablePanel - Add RadGroupBox and size its Width from end to end and set Anchor - Top, Left, Right Close and reopen the form - RadGroupBox width have been extended and its exceeds the form.
How to reproduce: check the attached project Workaround: use a custom RadPanel control: public class MyRadPanel : RadPanel { protected override bool ProcessMnemonic(char charCode) { if (!Control.IsMnemonic(charCode, this.Text)) { return false; } if (!this.Enabled || !this.Visible) { return false; } Control parentInternal = this.Parent; if (parentInternal != null) { if (parentInternal.SelectNextControl(this, true, false, true, false) && !parentInternal.ContainsFocus) { parentInternal.Focus(); } } return true; } }
Please refer to the atatched sample project and screenshot. Workaround: You can manipulate the text by inserting new lines in order to simulate the desired wrapping functionality when the auto ellipsis functionality is enabled.
Sometimes when custom theme is used exception is thrown. Workaround: Switch to control default before switching to custom theme.
To reproduce: public Form1() { InitializeComponent(); for (int i = 0; i < 15; i++) { RadButton btn = new RadButton(); btn.Text = "Item" + i; btn.Dock = DockStyle.Bottom; this.radCollapsiblePanel1.PanelContainer.Controls.Add(btn); } } Please refer to the attached screenshot.
When RadPanel is set to AutoSize, it should update its size automatically when changing the visibility of some control inside it. Workaround: public class CustomRadPanel : RadPanel { public override string ThemeClassName { get { return typeof(RadPanel).FullName; } set { base.ThemeClassName = value; } } protected override void OnLayout(LayoutEventArgs e) { base.OnLayout(e); int maxHeight = 0; foreach (Control control in this.Controls) { if (control.Visible) { maxHeight = Math.Max(control.Height, maxHeight); } } this.AutoSize = false; this.Height = maxHeight; } }
To reproduce: Add a RadLabel to a Form. Set the Margin and TextAlignment properties as well as some text: this.radLabel1.AutoSize = true; this.radLabel1.LabelElement.LabelText.Margin = new System.Windows.Forms.Padding(10, 10, 10, 10); this.radLabel1.TextAlignment = System.Drawing.ContentAlignment.MiddleCenter; this.radLabel1.Text = "This text should appear middle-center"; You will see that the text is not aligned at the center of the label. Workaround: Set the Margin to the layout panel instead: this.radLabel1.LabelElement.Children[2].Margin = new Padding(10); Or from the ElementEditor -> LabelElement -> ImageAndTextLayoutPanel
If I add a RadLabel to a RadPanel, and set the panel AutoScroll to true, scrolling the panel will cause lines to appear. The words get clipped.
To reproduce: - Add a scrollable panel wit other controls in a form. - Show the form using the ShowDialog method. - Scroll to the bottom the close and show the form again - You will notice that the scrollbar is not shown and the controls at the top are not visible. Workaround: Protected Overrides Sub OnClosing(e As System.ComponentModel.CancelEventArgs) MyBase.OnClosing(e) RadScrollablePanel1.VerticalScrollbar.Value = 0 End Sub
How to reproduce: this.radScrollablePanel1.PanelElement.BorderThickness = new Padding(0); Workaround: in order to hide the border of the RadScrollablePanel.PanelElement its Visiblity needs to be set to Hidden or Collapsed this.radScrollablePanel1.PanelElement.Border.Visibility = Telerik.WinControls.ElementVisibility.Hidden;
To reproduce: Add a RadScrollablePanel and a button at a location of 500, 1000. Start the app and click the panel(not the button) you will see that you cannot scroll the panel. Workaround: Subscribe to the MouseWheel event of RadScrollablePanel: void RadScrollablePanel_MouseWheel(object sender, MouseEventArgs e) { typeof(Control).GetMethod("OnMouseWheel", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).Invoke(scrollablePanel.PanelContainer, new object[] { e }); }
To reproduce: - Put grid and collapsible panel to a form. - Set the Dock of the grid to fill. - Set the Dock of the panel to top. - Expand the panel, you will notice that the panel is drawn over the grid. Workaround: public RadForm1() { InitializeComponent(); radGridView1.Anchor = AnchorStyles.None; radCollapsiblePanel1.Dock = DockStyle.Top; radCollapsiblePanel1.EnableAnimation = false; radCollapsiblePanel1.Expanded += radCollapsiblePanel1_Expanded; radCollapsiblePanel1.Collapsed += radCollapsiblePanel1_Collapsed; gridSmallsize = new Size(this.Width - 10, this.Height - 190); gridLargeSize = new Size(this.Width - 10, this.Height - 60); } Size gridSmallsize; Size gridLargeSize; void radCollapsiblePanel1_Collapsed(object sender, EventArgs e) { radGridView1.Size = gridLargeSize; radGridView1.Location = new Point(0, 30); } void radCollapsiblePanel1_Expanded(object sender, EventArgs e) { radGridView1.Size = gridSmallsize; radGridView1.Location = new Point(0, 160); }