Unplanned
Last Updated: 30 Mar 2016 13:05 by ADMIN
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 });
}
Completed
Last Updated: 16 Mar 2015 12:44 by Brad Harrison
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
Completed
Last Updated: 14 Nov 2014 08:41 by ADMIN
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));
        }
    }
}
Completed
Last Updated: 05 Nov 2014 12:49 by ADMIN
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;
    }
}
Completed
Last Updated: 10 Oct 2014 13:03 by ADMIN
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. 
Completed
Last Updated: 06 Dec 2019 14:37 by ADMIN
Release R1 2020 (LIB 2019.3.1209)
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);
Completed
Last Updated: 26 Sep 2014 05:31 by ADMIN
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.
Completed
Last Updated: 19 Aug 2014 13:40 by ADMIN
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;
Unplanned
Last Updated: 30 Mar 2016 14:32 by ADMIN
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
Completed
Last Updated: 25 Sep 2014 08:03 by ADMIN
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);
    }
}
Completed
Last Updated: 13 Jun 2014 16:20 by ADMIN
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);
        }
    }
}



Completed
Last Updated: 18 Jun 2014 09:53 by Sergey
To reproduce:

Add a RadCollapsiblePanel to a form and set its IsExpanded property using the property grid at design time. Start the application and you will notice that the inner container is hiding the header and makes it unusable.

Workaround:

Use the following class, by passing it all your forms which have a RadCollapsiblePanel it will hide the inner container when each loads:



public class RadCollapsiblePanelIsExpandedFixer
{
    private Dictionary<Form, List<RadCollapsiblePanel>> panels = new Dictionary<Form, List<RadCollapsiblePanel>>();


    public RadCollapsiblePanelIsExpandedFixer(params Form[] forms)
    {
        foreach (Form form in forms)
        {
            foreach (Control control in form.Controls)
            {
                RadCollapsiblePanel panel = control as RadCollapsiblePanel;
                if (panel != null)
                {
                    if (!panels.ContainsKey(form))
                    {
                        panels[form] = new List<RadCollapsiblePanel>();
                    }


                    panels[form].Add(panel);
                    form.Load += form_Load;
                }
            }
        }
    }


    void form_Load(object sender, EventArgs e)
    {
        Form loadedForm = sender as Form;
        foreach (RadCollapsiblePanel panel in panels[loadedForm])
        {
            panel.ControlsContainer.Size = Size.Empty;
        }


        loadedForm.Load -= form_Load;
        panels.Remove(loadedForm);
    }
}

Completed
Last Updated: 09 May 2014 12:09 by ADMIN
To reproduce:

Use Nikolay's project from this post: http://www.telerik.com/forums/scrolling-using-wraplayoutpanel . Run it and click just below the scrollbar  thumb, it will now move to the bottom. Now click above it and it will move to the top. At some cases (every second click or so) you will notice that the thumb is moving but the controls inside do not.

Workaround:

Subscribe to the ValueChanged event of the scrollbar and invoke PerformLayout of the PanelContainer:

this.radScrollablePanel1.VerticalScrollbar.ValueChanged += VerticalScrollbar_ValueChanged;

void VerticalScrollbar_ValueChanged(object sender, EventArgs e)
{
    this.radScrollablePanel1.PanelContainer.PerformLayout();
}

Completed
Last Updated: 07 May 2014 11:32 by ADMIN
Use the following code:
this.radLabel1.Font = new Font("Segoe UI", 11);
this.radLabel1.Text = "<html> Sample <strong> strong </strong> text to render. <br/> Please <u><strong>underline this here</strong></u> and make it strong.";

The underlined text is not aligned correctly. If you change the font size to 14, then the empty spaces between the words in the underlined text are replaced with "_" and they are visible.

Workaround: set the TextWrap property to false
Completed
Last Updated: 31 Mar 2014 09:03 by Tim
When I have a control in the RadCollapsiblePanel(RCP) and copy and paste it into the same RCP, it give the control the exact same name. Then I have two conrols on my form with the same name which causes issues. Someone should look into this. I tried to repeat it in two different solution and could do it. 
Completed
Last Updated: 27 Mar 2014 16:38 by ADMIN
To reproduce:

Add a RadCollapsiblePanel to a form. Add a button somewhere to the form. Continue working at design time. Copy the button, click the inner panel inside RadCollapsiblePanel and paste the button inside. Try to perform another paste or copy the pasted button, you will see errors.

Workaround:

Prior pasting click the header of RadCollapsiblePanel, this will select the whole control and perform the paste operation successfully.
Completed
Last Updated: 28 Oct 2014 15:00 by Jesse Dyck
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;
            }           
        }
Completed
Last Updated: 13 Oct 2014 12:29 by ADMIN
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.
Completed
Last Updated: 20 Oct 2014 12:05 by ADMIN
Completed
Last Updated: 06 Dec 2019 14:37 by ADMIN
Release R1 2020 (LIB 2019.3.1209)
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;