this.radSplitContainer2.Cursor = System.Windows.Forms.Cursors.SizeNS;
A project to reproduce is attached
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
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!
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; } } }
Use attached to reproduce. Move the splitter with the mouse and you will notice that is position is not correct when the mouse is released
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
Workaround: check the attached project
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; } } } }
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.
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; }
The Modifiers property should be visible in the properties window when a SplitPanel instance is selected. Workaround: Manually change the modifier in the Designer.cs file to protected.
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.
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.
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.
SplitPanel - there is no property Name in Visual Studio designer.
This allows a linked SplitPanels to be dynamically expanded and collapsed by clicking on the splitter button, and resized by dragging the splitter.
Applying Settings to the RadSplitContainer >> SplitContainerElement >> SplitterFill element affect only the first Splitter instance in the RadSplitContainer.
Add functionality to collapse and expand the split panels in RadSplitContainer by buttons positioned in the splitter area just like ASP.NET. See example here: http://demos.telerik.com/aspnet-ajax/splitter/examples/collapseexpand/defaultcs.aspx