Unplanned
Last Updated: 25 Jul 2024 12:04 by ADMIN

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);
}

 

Unplanned
Last Updated: 27 Jul 2023 12:36 by ADMIN

In this particular case, the main monitor has 125% DPI. When showing a RadForm which contains RadSplitContainer with 2 panels, the control is not scaled correctly.

Expected:

Current behavior:

Workaround:

Set the RadControl.EnableRadAutoScale property to false.

 
Completed
Last Updated: 29 Apr 2022 13:39 by ADMIN
Release R2 2022

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

 

 

Completed
Last Updated: 05 Jan 2022 12:57 by ADMIN
Release R1 2022
  • Create a Radform1 with RadSplitContainers (Orientation H or V)
  • In the designer, click on the Split (or try to move it does'nt work according this feedback RadSplitContainer: problem in resizing split panels in design time in Net5)
  • This property is added to the RadForm1.Designer.cs

            this.radSplitContainer2.Cursor = System.Windows.Forms.Cursors.SizeNS;

  • Deleting this property and working with the designer add again the property.

A project to reproduce is attached

Thanks

Completed
Last Updated: 18 Oct 2021 15:43 by ADMIN
Release R3 2021 SP1
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.
  
Completed
Last Updated: 07 Oct 2020 15:39 by ADMIN
Release R3 2020 SP1

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!

Completed
Last Updated: 24 Feb 2020 13:35 by ADMIN
Release R1 2017 SP1
Completed
Last Updated: 28 May 2019 15:59 by ADMIN
Release R2 2019 SP1 (LIB 2019.2.603)
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
Unplanned
Last Updated: 16 May 2019 05:07 by ADMIN
To reproduce:
- Use relative sizing and save the RelativeRatio.
- Set the same value after restarting the application.
- The panel size is not the same. 

Workaround:
Use absolute size. 
Completed
Last Updated: 02 May 2019 16:28 by ADMIN
Release R2 2019
When you try to move the splitter on 125% DPI and release the mouse, the splitter is placed to another place.
Unplanned
Last Updated: 19 Mar 2019 12:55 by ADMIN
To reproduce:

Add a RadSplitContainer with several SplitPanels and use the following code:
  this.radSplitContainer1.EnableCollapsing = true;
  this.radSplitContainer1.UseSplitterButtons = true;

If you run the project, you will notice that the next/previous buttons are displayed for manipulating the SplitPanel's collapsed/expanded state. If you click one of the next/previous buttons, the relevant SplitPanel will be collapsed and the splitter will remain visible. Thus, the user has the possibility to return the previous state of the SplitPanel. However, if you try to collapse the SplitPanel programmatically by setting the Collapsed property to true, the corresponding splitter will disapper.
Completed
Last Updated: 19 Nov 2018 10:26 by ADMIN
ADMIN
Created by: Hristo
Comments: 1
Category: SplitContainer
Type: Feature Request
1
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;
        }
    }
}
Unplanned
Last Updated: 20 Nov 2017 12:51 by ADMIN
The scenario that we want to cover is to disable resizing the split panels but still enable the option for expanding/collapsing them via the buttons.
Completed
Last Updated: 01 Nov 2017 13:06 by ADMIN
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;
}
Completed
Last Updated: 27 Oct 2017 10:02 by ADMIN
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
Completed
Last Updated: 27 Sep 2017 09:51 by ADMIN
Completed
Last Updated: 15 Aug 2017 11:03 by ADMIN
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;
            }
        }
    }
}
Unplanned
Last Updated: 15 Aug 2017 10:02 by Abed
ADMIN
Created by: Dimitar
Comments: 3
Category: SplitContainer
Type: Feature Request
7
Add right to left support.

This should be the same as in the standard split container – the panels should be swapped.
Unplanned
Last Updated: 19 Jun 2017 11:00 by ADMIN
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
1 2