To reproduce: Add a RadCollapsiblePanel to a form and add a RadCheckBox inside. Set its Anchor property to be Top and Right. Collapse the RadCollapsiblePanel and expand it. You will see that the checkbox will either move, most of the times out of the visible part of the panel. Workaround: Use the following custom classes: class MyCollapsiblePanel : RadCollapsiblePanel { protected override RadCollapsiblePanelElement CreateCollapsiblePanelElement() { return new MyCollapsiblePanelElement(this); } public override string ThemeClassName { get { return typeof(RadCollapsiblePanel).FullName; } set { } } } class MyCollapsiblePanelElement : RadCollapsiblePanelElement { public MyCollapsiblePanelElement(RadCollapsiblePanel ownerControl) : base(ownerControl) { } protected override void ExecuteCollapseFinalizations() { base.ExecuteCollapseFinalizations(); if (this.AnimationType == CollapsiblePanelAnimationType.Reveal) { RadCollapsiblePanel panel = this.ElementTree.Control as RadCollapsiblePanel; foreach (Control control in panel.PanelContainer.Controls) { control.ResumeLayout(false); } } } protected override void ExecuteCollapsePreparations() { base.ExecuteCollapsePreparations(); if (this.AnimationType == CollapsiblePanelAnimationType.Reveal) { RadCollapsiblePanel panel = this.ElementTree.Control as RadCollapsiblePanel; panel.ControlsContainer.ResumeChildControlsLayout(); foreach (Control control in panel.PanelContainer.Controls) { control.SuspendLayout(); } } } protected override Type ThemeEffectiveType { get { return typeof(RadCollapsiblePanelElement); } } }
To reproduce: public Form1() { InitializeComponent(); radCollapsiblePanel1.ExpandDirection = Telerik.WinControls.UI.RadDirection.Right; radCollapsiblePanel1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; } Workaround: public class CustomCollapsiblePanel : RadCollapsiblePanel { protected override RadCollapsiblePanelElement CreateCollapsiblePanelElement() { return new CustomCollapsiblePanelElement(this); } public override string ThemeClassName { get { return typeof(RadCollapsiblePanel).FullName; } } } public class CustomCollapsiblePanelElement : RadCollapsiblePanelElement { bool rtl = false; public CustomCollapsiblePanelElement(RadCollapsiblePanel ownerControl) : base(ownerControl) { } protected override Type ThemeEffectiveType { get { return typeof(RadCollapsiblePanelElement); } } protected override void OnHeaderButtonClick(object sender, EventArgs e) { rtl = this.RightToLeft; this.RightToLeft = false; base.OnHeaderButtonClick(sender, e); } protected override void OnMouseUp(MouseEventArgs e) { this.RightToLeft = rtl; base.OnMouseUp(e); } }
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
To reproduce : this.radCollapsiblePanel1.IsExpanded = false; for (int i = 0; i < 5; i++) { RadButton btn = new RadButton(); btn.Text = "Left" + i; btn.Location = new Point(10, 45 * i); this.radCollapsiblePanel1.Controls.Add(btn); RadButton btn2 = new RadButton(); btn2.Text = "Right" + i; btn2.Location = new Point(140, 45 * i); this.radCollapsiblePanel1.Controls.Add(btn2); } Workaround: this.radCollapsiblePanel1.IsExpanded = false; this.radCollapsiblePanel1.ControlsContainer.AutoScroll = true;
To reproduce: Design time steps: 1. Add a UserControl with size bigger than the Form. 2. Add a RadCollapsiblePanel to the UserControl and set its IsExpanded property to false. 3. Position the RadCollapsiblePanel to the right most place of the UserControl. Thus, when you drag and drop the UserControl onto the form, the RadCollapsiblePanel is not visible. Run time steps: 4. Run the application and resize the form so you can see the RadCollapsiblePanel. 5. Click the arrow to expand the panel. As a result its location is changed. Workaround: set the IsExpanded property to false at run time.
To reproduce: add a RadCollapsiblePanel and a RadListView inside it. Make the RadListView considerably smaller than the panel and place it at the center of the container. Set the ContentSizingMode property to CollapsiblePanelContentSizingMode.FitToContentWidth | CollapsiblePanelContentSizingMode.FitToContentHeight. When you run the application, you will see that the RadCollapsiblePanel does not have the same size as the RadListView. It is sized only from the right and down corners, although there are undesired margins as well.
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.
DECLINED: caused by the fact the form has been edited under different DPI settings. Workaround: specify the MinimumSize property at run time.
To reproduce: radCollapsiblePanel1.CollapsiblePanelElement.HeaderElement.HeaderButtonElement.MinSize = new Size(100, 100); Workaround: //resize the button this.menue.CollapsiblePanelElement.HeaderElement.MinSize = new Size(0, 50); this.menue.CollapsiblePanelElement.HeaderElement.HeaderButtonElement.MinSize = new Size(50, 50); this.menue.CollapsiblePanelElement.HeaderElement.HeaderButtonElement.MaxSize = Size.Empty; //refresh the control this.menue.EnableAnimation = false; this.menue.IsExpanded = !this.menue.IsExpanded; this.menue.IsExpanded = !this.menue.IsExpanded; this.menue.EnableAnimation = true;
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); }
To reproduce: radRadioButton1.Text = "<html><strong>Test</strong><strong> Test</strong></html>"; radRadioButton1.Enabled = false;
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); }
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
To reproduce: - Drop RadPopUpContainer from the toolbox on the windows form. Save the form. - Change the AllowAutomaticScrollToControl property value. - Save the form. Workaround: Set the property in code: RadScrollablePanel1.AllowAutomaticScrollToControl = false;
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(); }
To reproduce: - Show the border of a RadLabel. - Apply ScaleTransform to the root element.
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; } }
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; } }
Create a new TelerikWinForms project. Add a collapsible panel. Set the border colour via the "Edit UI Elements" button in the task menu, under BorderPrimitive.ForeColor. The border will appear to change in design view, but will not change at runtime, with the appropriate line not being added to the form .Designer.cs file at all. This was tested with the Windows 8 theme applied. Workaround: ((Telerik.WinControls.Primitives.BorderPrimitive)(this.radCollapsiblePanel1.ControlsContainer.GetChildAt(0).GetChildAt(1))).ForeColor = Color.White;
I can't think of a reason to have text in a panel, however every time one is added from the toolbox it has text set as the control name. I would love this to default to blank.