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
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.
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!
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
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; } } }
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; }
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.
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.
When you cut-copy RadSplitContainer containing two SplitPanels from one form to another, only the RadSplitContainer is pasted, but the SplitPanels are missing.
In design time when trying to copy-paste a RadSplitContainer, which contains a couple panels, it throws exception. Steps to reproduce: Add a RadSplitContainer to a form or user control. Add a couple of panels to the container using the designer. Press Ctrl+A to select all the controls on the form or user control. Press Ctrl+C to copy them to the clipboard. Create a new form or user control (this step isn't strictly necessary, but helps explain the issue). Paste the controls on the clipboard into the new form or user control using Ctrl+V
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.
When you drop a RadSplitContainer in a RadDock ToolWindow, RadSplitContainer loses important options from its SmartTag's ActionMenu. Similar behavior is obtained when you drag a RadSplitContainer from the ToolBox and drop it onto an empty RadDock.
SplitPanel - there is no property Name in Visual Studio designer.