To reproduce: 1. Add a RadSplitContainer with two split panels. 2. Add a RadCollapsiblePanel to the left split panel and set the RadCollapsiblePanel.Dock property to Fill. 3. Add a RadGridView inside the RadCollapsiblePanel and set the RadGridView.Dock property to Fill. 4. Populate the grid with data. 5. Run the application and move the splitter to increase the RadCollapsiblePanel's size. The RadGridView is resized correctly. 6. Move the splitter to shrink the RadCollapsiblePanel. As a result the grid is not resized correctly. Workaround: Subscribe to the RadSplitContainer.SplitterMoved event and use the following code: this.RadCollapsiblePanel1.EnableAnimation = false; this.RadCollapsiblePanel1.IsExpanded = !this.RadCollapsiblePanel1.IsExpanded; this.RadCollapsiblePanel1.IsExpanded = !this.RadCollapsiblePanel1.IsExpanded; this.RadCollapsiblePanel1.EnableAnimation = true;
To reproduce: - Show the border of a RadLabel. - Apply ScaleTransform to the root element.
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: - 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: - Set the Localizable property of the form to true. - Change the header text of the collapsible panel.
To reproduce: radRadioButton1.Text = "<html><strong>Test</strong><strong> Test</strong></html>"; radRadioButton1.Enabled = false;
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;
DECLINED: caused by the fact the form has been edited under different DPI settings. Workaround: specify the MinimumSize property at run time.
When the control is anchored to bottom left and its text is set to empty string in the form's Load event its position is changed. To workaround this you can either set the text to a space or you can set the text in the form's shown event: Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown RadLabel2.Text = "" End Sub
To reproduce: var stackPanel = new StackLayoutElement { Orientation = Orientation.Vertical }; stackPanel.Children.Add(new TextPrimitive { Text = "Demo" }); stackPanel.Children.Add(new TextPrimitive { Text = "Demo" }); Panel.PanelElement.Children.Add(stackPanel); Panel.AutoSize = true; // <= false works fine Workaund: - Put the panel in a control: public class MyControl : RadControl { protected override void CreateChildItems(RadElement parent) { base.CreateChildItems(parent); var stackPanel = new StackLayoutElement { Orientation = Orientation.Vertical }; stackPanel.Children.Add(new TextPrimitive { Text = "Demo" }); stackPanel.Children.Add(new TextPrimitive { Text = "Demo" }); parent.Children.Add(stackPanel); } protected override RootRadElement CreateRootElement() { RootRadElement root = base.CreateRootElement(); root.BackColor = Color.Transparent; return root; } }
To reproduce: Add a RadCollapsiblePanel to a form and anchor it to top left and right. Start the application, collapse the panel and resize the form to the right. Expand the panel and you will see that the width is incorrect. Workaround: Use the following code, call the CollapsbilePanelAnchorFix to recursively find all CollapsiblePanels and subscribe to the event which fixes the issue: public RadForm1() { InitializeComponent(); this.CollapsiblePanelAnchorFix(this); } public void CollapsiblePanelAnchorFix(Control parent) { foreach (Control ctrl in parent.Controls) { if (ctrl is RadCollapsiblePanel) { ctrl.SizeChanged += radCollapsiblePanel1_SizeChanged; } this.CollapsiblePanelAnchorFix(ctrl); } } void radCollapsiblePanel1_SizeChanged(object sender, EventArgs e) { RadCollapsiblePanel panel = sender as RadCollapsiblePanel; if (!panel.IsExpanded) { if (panel.ExpandDirection == Telerik.WinControls.UI.RadDirection.Up || panel.ExpandDirection == Telerik.WinControls.UI.RadDirection.Down) { panel.OwnerBoundsCache = new Rectangle(panel.Location, new Size(panel.Bounds.Width, panel.OwnerBoundsCache.Height)); } else { panel.OwnerBoundsCache = new Rectangle(panel.Location, new Size(panel.OwnerBoundsCache.Width, panel.Bounds.Height)); } } }
To reproduce: Add a RadCollapsiblePanel and a few controls inside, such as 1-2 buttons and a RadRichTextBox. Align their Y and Width. Anchor them to Top, Left, Right. When you start the form you will see that their width will increase. You can also try with the attached project Workaround: Create the following custom RadCollapsiblePanel and use it instead: public class MyCollapsiblePanel : RadCollapsiblePanel { private MyCollapsiblePanelControlsContainer panelContainer; public new CollapsiblePanelPanelContainer PanelContainer { get { return this.panelContainer.PanelContainer; } } protected override CollapsiblePanelControlsContainer CreateControlsContainer() { this.panelContainer = new MyCollapsiblePanelControlsContainer(); return this.panelContainer; } public override string ThemeClassName { get { return typeof(RadCollapsiblePanel).FullName; } set { } } } public class MyCollapsiblePanelControlsContainer : CollapsiblePanelControlsContainer { public new CollapsiblePanelPanelContainer PanelContainer { get; set; } protected override RadScrollablePanelContainer CreateScrollablePanelContainer() { this.PanelContainer = new CollapsiblePanelPanelContainer(this); return this.PanelContainer; } } public class CollapsiblePanelPanelContainer : RadScrollablePanelContainer { public CollapsiblePanelPanelContainer(RadScrollablePanel parentPanel) : base(parentPanel) { } public new Size Size { get { return base.Size; } set { base.Size = value; RadCollapsiblePanel cp = this.FindCollapsiblePanelParent(); if (cp != null && cp.IsInitializing) { cp.ControlsContainer.Size = value; } } } protected virtual RadCollapsiblePanel FindCollapsiblePanelParent() { Control parent = this.Parent; do { if (parent is RadCollapsiblePanel) { return parent as RadCollapsiblePanel; } parent = parent.Parent; } while (parent != null); return null; } }
Description: For a RadScrollablePanel (VerticalScrollbar is visible) with a RadSpinEditor inside it, when the user is scrolling the mouse wheel in order to change the RadSpinEditor value, both controls (the RadScrollablePanel and the RadSpinEditor) are affected. To reproduce: - add a RadScrollablePanel with several controls inside it (VerticalScrollbar is visible) - add a RadSpinEditor inside the RadScrollablePanel - scroll the mouse wheel in order to change the RadSpinEditor value Workaround: this.radSpinEditor3.SpinElement.TextBoxItem.HostedControl.MouseWheel+= HostedControl_MouseWheel; private void HostedControl_MouseWheel(object sender, MouseEventArgs e) { if (this.radSpinEditor3.ReadOnly || !this.radSpinEditor3.SpinElement.EnableMouseWheel) { return; } HandledMouseEventArgs handledMouseEventArg = e as HandledMouseEventArgs; if (handledMouseEventArg != null) { if (handledMouseEventArg.Handled) { return; } handledMouseEventArg.Handled = true; } }
1. Add RadPanel on to design time surface 2. Set its AutoScroll property to true 3. Add button which is partially visible 4. Try to scroll using the scrollbar Resolution: You need to use RadScrollablePanel instead RadPanel. You can refer to link http://feedback.telerik.com/Project/154/Feedback/Details/109764-add-scrolling-behavior-for-radscrollablepanel-at-design-time
RadPanel, RadScrollablePanel and RadGroupBox should support AutoSize mode, where AutoSize = true and AutoSizeMode = GrowAndShrink.
RadScrollablePanel - add ability to override the embedded MS Panel.
To reproduce: Add a RadScrollabelPanel, add some controls to make the scrollbar appear, click some control in the panel and scroll down, click on some other control outside the panel and click again on some control inside the panel.
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: 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: 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); } }