One should be able to scroll RadScrollablePanel at design-time
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;
The scrollbars of RadScrollablePanel should have a ScrollState property with possible values AlwaysHide, AlwaysShow, AutoHide.
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); } }
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); } } }
When AutoSize is false, TextWrap is true, TextImageRelation is ImageBeforeText and RadLabel has a padding set, the text does not wrap correctly.
If you set this.radScrollablePanel1.PanelContainer.VerticalScroll.Value = 170, the content will be scrolled, but the position of the scrollbar thumb will not be changed. You should call ((RadVScrollBar)this.radScrollablePanel1.Controls[1]).Value = 170 explicitly. However, this should happen automatically. Resolution: The .NET framework does not provide a way to get notified when the values of the PanelContainer's scrolls have changed. To set the values programmatically use: this.radScrollablePanel1.VerticalScrollbar.Value = value;this.radScrollablePanel1.HorizontalScrollbar.Value = value;
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(); }
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
Steps to reproduce: 1) Add RadScrollablePanel 2) Add RadTextBox control into the RadScrollablePanel 3) Set the RightToLeft property of the to RadScrollablePanel to Yes 4) Set the following properties of the RadTextBox: this.radTextBox1.AutoSize = false; this.radTextBox1.Multiline = true; Expected Result: The horizontal scrollbar is working properly Actual Result: The horizontal scrollbar of the RadScrollablePanel is showing but is not working
If there is set MaxWidth and TextWrap, the RadLabel determines its size incorectly and as result there is large blank space at the bottom. This specially impact the RadMessageBox if a very long text has been used.
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.
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.
When RadPanel gets focus it prevents Microsoft Windows Form key events from being fires unless the form KeyPreview property is enabled.
To reproduce: add a RadScrollablePanel to a form and place some other control inside it. Anchor this control to all sides and run the project. You will see that the control's size is incorrect.
If you move scrollbar thumbs with the mouse and then click the previously focused control, the RadScrollablePanel will scroll to the top of that control. This behavior is present because the scrollbars in RadScrollablePanel can receive focus.
Check the AutoSize property behavior at design time for Label and RadLabel.
FIX. RadLabel - size goes to 0,0 after setting AutoSize to false on a newly added label to the form
RadLabel has no definition for the HighContrastBlack theme.
1. Add a RadLabel and use mnemonics ("&A test" for example) in its Text value. 2. Run the application 3. Press the shortcut - for example Alt+A