If you add a RadCollapsiblePanel to a form in design time, then add some child controls in its control container, then open the Document Outline window, you will see that the child controls are not visible in the Document Outline. Workaround: There is a workaround which involves creating an inherited RadCollapsiblePanel and assigning it with a custom designer: [Designer(typeof(MyCollapsiblePanelDesigner))] class MyCollapsiblePanel : RadCollapsiblePanel { public override string ThemeClassName { get { return typeof(RadCollapsiblePanel).FullName; } set { base.ThemeClassName = value; } } } class MyCollapsiblePanelDesigner : RadControlDesignerLite { public override void Initialize(System.ComponentModel.IComponent component) { base.Initialize(component); this.EnableDesignMode((this.Control as RadCollapsiblePanel).ControlsContainer, "ControlsContainer"); this.EnableDesignMode((this.Control as RadCollapsiblePanel).PanelContainer, "PanelContainer"); } public override ControlDesigner InternalControlDesigner(int internalControlIndex) { return this.DesignerHost.GetDesigner((this.Component as RadCollapsiblePanel).PanelContainer) as ControlDesigner; } public override int NumberOfInternalControlDesigners() { return 1; } protected override RadControlDesignerLiteActionList CreateActionList() { return new RadCollapsiblePanelActionList(this); } } Note that you would need to add references to the System.Design and Telerik.WinControls.UI.Design assemblies in order for the workaround to build. After you build it successfully, you can use the MyCollapsiblePanel component from your toolbox and you will be able to see the child controls in the document outline.
To reproduce: please refer to the attached gif file: 1. Drop RadCollapsiblePanel from the toolbox on to the windows form. 2. Click on the form and press Ctrl+Z to undo the change 3. Observe that an error dialog popped up saying "Index and length must refer to a location within the string. Parameter name: length"
To reproduce: Add a RadLabel with text, set its background to red, its border to Yellow and start the project. You will notice that there is one pixel outside the border. Workaround: Set the Borderthickness of the LabelElement to 0: label2.LabelElement.BorderThickness = new Padding(0);
Code to reproduce: this.radLabel1.BackColor = Color.Yellow; this.radLabel1.BorderVisible = true; this.radLabel1.LabelElement.LabelBorder.ForeColor = Color.Red; WORKAROUND: this.radLabel1.LabelElement.LabelBorder.FitToSizeMode = RadFitToSizeMode.FitToParentBounds;
To reproduce: - Use the attached project. - Resize the panel to the left. - You will notice that the borders are cut off. Second scenario: refer to the 1016234GridInCollapsiblePanelVS2010.zip RadCollapsiblePanel1.ExpandDirection = Telerik.WinControls.UI.RadDirection.Right RadSplitContainer1.SplitPanels("SplitPanel2").SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Absolute RadSplitContainer1.SplitPanels("SplitPanel2").SizeInfo.AbsoluteSize = New System.Drawing.Size(637, 522) Workaround: manually update the collapsible panel`s size in the SplitterMoved event public WorkCenterScheduleAndStatusControl() { InitializeComponent(); this.radSplitContainer1.SplitterMoved += RadSplitContainer1_SplitterMoved; } private void RadSplitContainer1_SplitterMoved(object sender, SplitterEventArgs e) { this.radCollapsiblePanel1.Size = new Size(this.radCollapsiblePanel1.Size.Width, this.radCollapsiblePanel1.Size.Height - 1); this.radCollapsiblePanel1.Size = new Size(this.radCollapsiblePanel1.Width, this.radCollapsiblePanel1.Size.Height + 1); }
To reproduce: - Add to collapsible panels to a form. - Dock the first to the top and set the Dock property of the second to Fill. - Set the ExpandDirection of the second to Up. - Start the application and collapse and then expand the second panel. - You will notice that the header button is no longer visible. Workaround: void radCollapsiblePanel1_Expanded(object sender, EventArgs e) { radCollapsiblePanel2.CollapsiblePanelElement.InvalidateMeasure(true); }
How to reproduce: check the attached project Workaround: resize the size of the hosting RadPanel private void radCollapsiblePanel_Expanding(object sender, CancelEventArgs e) { this.radPanel1.Size = new Size(this.radPanel1.Size.Width, this.radPanel1.Size.Height - 1); } private void radCollapsiblePanel_Expanded(object sender, EventArgs e) { this.radPanel1.Size = new Size(this.radPanel1.Size.Width, this.radPanel1.Size.Height + 1); }
To reproduce: - Add a collapsible panel to ToolWindow. - Collapse the panel and redock the tool window. - The panel cannot be expanded any more. Workaround: List<Rectangle> list; void radDock1_DockStateChanging(object sender, Telerik.WinControls.UI.Docking.DockStateChangingEventArgs e) { list = new List<Rectangle>(); foreach (var item in e.NewWindow.Controls) { if (item is RadCollapsiblePanel) { list.Add(((RadCollapsiblePanel)item).OwnerBoundsCache); } } } void radDock1_DockStateChanged(object sender, Telerik.WinControls.UI.Docking.DockWindowEventArgs e) { int count = 0; foreach (var item in e.DockWindow.Controls) { if (item is RadCollapsiblePanel) { ((RadCollapsiblePanel)item).OwnerBoundsCache = list[count++]; } } }
The fix in 3Q18 removed the exposed Text property of the RadPanel control. Setting the text to blank should not have removed the Text property from the control.
Workaround: use CollapsiblePanelAnimationType.Reveal
Use attached to reproduce. - Open the form at design time, the border is correctly set to gray color. - Start the application, the border changes to blue. Workaround: radCollapsiblePanel1.ControlsContainer.PanelElement.Border.ForeColor = Color.FromArgb(171, 171, 171); or ThemeResolutionService.ApplicationThemeName = "Office2013Dark";
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;
- 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: add RadCollapsiblePanel to RadLayoutControl, run it and collapse RadCollapsiblePanel => the expand/collapse button will get hidden Workaround: public SampleForm() { InitializeComponent(); radCollapsiblePanel1.AutoSize = false; radCollapsiblePanel1.Collapsed += radCollapsiblePanel1_Collapsed; radCollapsiblePanel1.Expanding += radCollapsiblePanel1_Expanding; radCollapsiblePanel1.Expanded += radCollapsiblePanel1_Expanded; } void radCollapsiblePanel1_Expanded(object sender, EventArgs e) { UpdateLayout(); } private void UpdateLayout() { radLayoutControl1.RootElement.InvalidateMeasure(true); radLayoutControl1.RootElement.UpdateLayout(); radCollapsiblePanel1.RootElement.InvalidateMeasure(true); radCollapsiblePanel1.RootElement.UpdateLayout(); } void radCollapsiblePanel1_Expanding(object sender, CancelEventArgs e) { radLayoutControl1.FindItemByControl(radCollapsiblePanel1).MaxSize = new Size(0, 0); radLayoutControl1.FindItemByControl(radCollapsiblePanel1).MaxSize = new Size(0, 0); UpdateLayout(); } void radCollapsiblePanel1_Collapsed(object sender, EventArgs e) { radLayoutControl1.FindItemByControl(radCollapsiblePanel1).MaxSize = new Size(31, 0); radLayoutControl1.FindItemByControl(radCollapsiblePanel1).MinSize = new Size(31, 0); UpdateLayout(); }