Applying Settings to the RadSplitContainer >> SplitContainerElement >> SplitterFill element affect only the first Splitter instance in the RadSplitContainer.
I have three split panels and when the auto scroll is enabled some lines appear in the split panel. The issue can be reproduced with RadPanel as well. Workaround: http://www.telerik.com/forums/problem-with-auto-scroll#ygV1vwyA40KZ4KoD28AhvQ
To reproduce: -add RadSplitContainer (horizontal) and add one left and one right split panel -add two RadButtons to collapse and show one of the panels private void radButton1_Click(object sender, EventArgs e) { this.splitPanel1.Collapsed = true; } private void radButton2_Click(object sender, EventArgs e) { this.splitPanel1.Visible = true; } -click the first button to collapse the left panel; as a result the second panel fills the entire container size -click the second button to show again the left panel; as a result the panels overlap each other
Sometimes there are 3 or more dots on a splitter, but when changing the orientation then there is only one dot. sometimes there are lines, but when switching to disabled these lines are much bigger. But only in one orientation.
To reproduce: - Set the splitter size to 40. - Drag the splitter without releasing the mouse. - The mouse pointer is in the beginning of the splitter, but it should be in its center.
Please refer to the attached sample project. Double click the middle splitter in the horizontal split container. Workaround: manually collapse the desired split panel: private void Form1_Load(object sender, EventArgs e) { this.radSplitContainer3.PanelCollapsing += radSplitContainer3_PanelCollapsing; foreach (SplitterElement s in this.radSplitContainer3.Splitters) { s.DoubleClick += s_DoubleClick; } } private void s_DoubleClick(object sender, EventArgs e) { SplitterElement s = sender as SplitterElement; ((SplitPanel)s.RightNode).Collapsed = true; }
Unable to cast object of type 'System.EventArgs' to type 'System.Windows.Forms.MouseEventArgs'. Workaround: use the SpliPanel.Collapsed property to control whether the split panel is expanded or collapsed.
To reproduce: add a RadSplitContainer with 3 identical SplitPanels. The left panel needs to be initially collapsed. That is why we use the introduced public API (MoveSplitter method). When the form is shown and you try to expand the left (yellow) panel, you will notice that the splitter is not restored to the correct position. Please refer to the attached gif file. This must be handled for Vertical and Horizontal orientation!!! Workaround: Private Sub RadForm1_Load(sender As Object, e As EventArgs) Handles MyBase.Load AddHandler Me.RadSplitContainer1.MouseDown, AddressOf SplitContainerMouseDown End Sub Private Sub SplitContainerMouseDown(sender As Object, e As MouseEventArgs) Dim clickedElement = Me.RadSplitContainer1.ElementTree.GetElementAtPoint(e.Location) If TypeOf clickedElement Is SplitterElement Or TypeOf (clickedElement.Parent) Is SplitterElementLayout Then RadSplitContainer1.RestoreSplitterPosition(Me.RadSplitContainer1.Splitters(0)) RemoveHandler Me.RadSplitContainer1.MouseDown, AddressOf SplitContainerMouseDown End If End Sub
How to reproduce: check the attached video Workaround: Only split panels can be added to RadSplitContainer, so add a panel first to the control before using the document outline
The end user should be able to specify what Cursor to be used while resizing a panel. Currently this can be achieved using the custom control below: public class MyRadSplitContainer : RadSplitContainer { private bool isResizing; public override string ThemeClassName { get { return typeof(RadSplitContainer).FullName; } } protected override void OnMouseDown(MouseEventArgs e) { if (e.Button == MouseButtons.Left && this.ContentRectangle.Contains(e.Location)) { SplitterElement splitter = GetSplitterElementAtPoint(e.Location); if (splitter != null && !splitter.Fixed) { this.isResizing = true; } base.OnMouseDown(e); } } protected override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); this.isResizing = false; } public override Cursor Cursor { get { Cursor cursor = base.Cursor; if (this.isResizing && cursor == Cursors.SizeWE) { cursor = Cursors.VSplit; } else if (this.isResizing && cursor == Cursors.SizeNS) { cursor = Cursors.HSplit; } return cursor; } set { if (value == Cursors.VSplit) { value = Cursors.SizeWE; } else if (value == Cursors.HSplit) { value = Cursors.SizeNS; } base.Cursor = value; } } }
When you try to copy and paste RadSplitContainer from one form to another, it loses its child panels and if it contains any other child controls, they become children of the form.
Hello, I receive 'failed to create component' when designing user control in WinForms Designer. RadControls version - Q3 2014 Visual Studio version - 2013 Community Seems like there was a try to add a reference to already referenced assembly. The image is in attachment
How to reproduce: check the attached project Workaround: check the attached project
To reproduce: splitPanel1.SizeInfo.SizeMode = Telerik.WinControls.UI.Docking.SplitPanelSizeMode.Absolute; splitPanel1.SizeInfo.AbsoluteSize = new Size(300, this.radSplitContainer1.Height); splitPanel1.SizeInfo.MinimumSize = new Size(80, 0); radSplitContainer1.UseSplitterButtons = true; radSplitContainer1.EnableCollapsing = true; - Start the application and collapse the panel with the button. - The panel is collapsed, but cannot be expanded to its previous position.
The mouse cursor should not also change to split. How to reproduce: set certain splitter elements to be fixed, then you would notice that they have the resizing image visible and the cursor changes to split if you hover them Workaround: manually hide the layout element and use a custom control overriding its Cursor property public partial class Form1 : Form { public Form1() { InitializeComponent(); new RadControlSpyForm().Show(); this.radSplitContainer1.EnableCollapsing = true; this.radSplitContainer1.UseSplitterButtons = true; } protected override void OnShown(EventArgs e) { base.OnShown(e); foreach (SplitterElement splitter in this.radSplitContainer1.Splitters) { splitter.Fixed = true; splitter.Layout.Visibility = ElementVisibility.Collapsed; } } private void button1_Click(object sender, EventArgs e) { foreach (SplitterElement splitter in this.radSplitContainer1.Splitters) { splitter.Fixed = !splitter.Fixed; splitter.Layout.Visibility = !splitter.Fixed ? ElementVisibility.Visible : ElementVisibility.Collapsed; } } } public class MyRadSplitContainer : RadSplitContainer { public override string ThemeClassName { get { return typeof(RadSplitContainer).FullName; } } public override Cursor Cursor { get { return base.Cursor; } set { SplitterElement splitter = this.GetSplitterElementAtPoint(this.PointToClient(Cursor.Position)); if (!(splitter != null && splitter.Fixed)) { base.Cursor = value; } } } }
Backgroud
The behavior of split button makes me confused when I use split button collapsing the split panel. It locates in different position when I restore the split button by double-click. What's weirder is that double-click will make no effect when the split button located on the edge. I don't like these default behaviours.
Question
1. Do you know how to overwrite the default behaviour of split button?
2. Is there a virtual method or some event I can reimplement?
3. I want to collapse the right panel to the right side, and restore it to the initial location, and just these to behaviours. How can I do it?
Thanks!
Dear Sir/Madam
Unfortunately, the SplitContainer in the .NET version 5 has problems, as you can see in the picture, I can not change the size in design time.
Is there a newer version that fixes this problem?
Telerik Winform Version :2020.3.1020
Visual Studio Version : 16.8.3
Best Regards
this.radSplitContainer2.Cursor = System.Windows.Forms.Cursors.SizeNS;
A project to reproduce is attached
Thanks
To reproduce:
1. Add three SplitPanels in horizontal mode.
2. Use the following code snippet.
3. Drag the second splitter upwards. It changes the height on the first panel
void RadForm1_Load(object sender, EventArgs e)
{
FixHeight(splitPanel1);
FixHeight(splitPanel3);
}
public static void FixHeight(SplitPanel panel)
{
panel.SizeInfo.MinimumSize = new Size(0, 55);
panel.SizeInfo.MaximumSize = new Size(0, 55);
}