Unplanned
Last Updated: 03 Jan 2020 12:29 by ADMIN
Steve
Created on: 23 Dec 2019 15:03
Category: SplitContainer
Type: Bug Report
0
RadSplitContainer: expand/collapse problem in DPI greater than 100%

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!

Attached Files:
10 comments
ADMIN
Dess | Tech Support Engineer, Sr.
Posted on: 03 Jan 2020 12:29
Hello, Steve,   

I confirm that the issue is reproducible on higher than 100% DPI scaling.

I have logged it in our feedback portal by making this thread public. You can track its progress, subscribe for status changes and add your comments on the following link - feedback item

I have also updated your Telerik points.

Currently, due to the complexity of the issue, I am unable to suggest a suitable solution for DPI greater than 100%. We will do our best to introduce a fix as soon as possible. Please excuse us for the inconvenience caused.

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Steve
Posted on: 02 Jan 2020 13:06

You are right, the issue is due to the high DPI. I have never noticed that the Windows 10 recommanded scaling ratio is 125%. when I reset the ratio to 100%, everything is OK. 

Thanks for your help!

ADMIN
Nadya
Posted on: 30 Dec 2019 15:09

Hello Steve,

Currently, Dess is out of the office so I will be assisting you with this case. 

Thank you for sharing the Windows version. In order to reproduce the issue locally, it would be greatly appreciated if you can specify whether your application is at high DPI scaling? Without reproducing it locally, it will be difficult to find out what causes it.

I am looking forward to your reply.

Regards,
Nadya
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Steve
Posted on: 28 Dec 2019 02:00

I test it in another computer, it works! 

I also have tried to uninstall the telerik completely (deleteing the registry, %appdata%, %temp% etc. manualy) and then reinstall it. (I install the 2017 R2 before,I'm worried because old versions didn't uninstall clean)But the problem still exists. By the way, your demo about splitcontainer also works incorrectly on my computer.

It's weird! It seems that the issue only occurs on my computer.

My computer's version is Win10 home 1909, OS version is 18363.535.  

Attached Files:
ADMIN
Dess | Tech Support Engineer, Sr.
Posted on: 27 Dec 2019 11:05

Hello, Steve,     

It is strange that the behavior is different on both sides with the same project. I have tested on another machine as well to test whether the behavior will be the same. It also seems to work as expected. I have tested with the specified version 2019.2.618 and with the latest version as well.

Would it be possible to give the sample project a try on a second device and see whether the problem is reproducible only on your machine? What is the operating system on which you are running the application? Is it possible to test with the latest version of the Telerik Ui for WinForms suite?

Note that the SplitPanel offers a SizeInfo property which allows you to control the SizingMode and specify a certain size for the split panel. Thus, you can control the size after the split panel is expanded. The following help article demonstrated how you can specify the size for the panels: https://docs.telerik.com/devtools/winforms/controls/splitcontainer/building-a-layout-of-radsplitcontainers-programmatically 

I am looking forward to your reply.

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Steve
Posted on: 26 Dec 2019 14:42
I have tried the two methods you metioned.  The issue in my end remains. Whether changing width or calling API problems persist. It's weird, I don't know how to explain it.
ADMIN
Dess | Tech Support Engineer, Sr.
Posted on: 26 Dec 2019 06:51

Hello, Steve,     

Indeed, the illustrated behavior doesn't seem to be OK. However, I have tested with the specified version 2019.2.618 and the observed behavior is the same on my end as the one illustrated in my previous reply. The split container expands and collapses as expected. I would recommend you to increase the SplitterWidth so that you can click easier the splitter buttons. Could you please give it a try and see how it would work for you?

RadSplitContainer exposes a convenient API for accessing the splitter elements. Each of the splitters can be moved to a position so that it collapses one of its associated panel. The responsible MoveSplitter method receives a splitter element instance and a RadDirection flag as parameters. The splitter`s position can be restored to its previous location with the RestoreSplitterPosition method.

this.radSplitContainer1.MoveSplitter(this.radSplitContainer1.Splitters[0], RadDirection.Left);
this.radSplitContainer1.RestoreSplitterPosition(this.radSplitContainer1.Splitters[0]);

Should you have further questions please let me know.

Happy Holidays

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Steve
Posted on: 25 Dec 2019 14:06
Note that if you create a derivative of RadSplitContainer, you can override its OnMouseDoubleClick method and introduce any custom logic that you need considering the element under the mouse. The GetSplitterElementAtPoint method gives you the respective splitter according to the mouse location. 

 

I get the SplitterElement by GetSplitterElementAtPoint. But i don't find method which can move the splitter to specified position. So what should do i next?

Steve
Posted on: 25 Dec 2019 13:10
I reproduce the issue by your attached solution. By the way, I don't modify your code. My telerik version is 2019.2.618.40
ADMIN
Dess | Tech Support Engineer, Sr.
Posted on: 24 Dec 2019 07:14

 

Hello, Steve,     

Note that if you create a derivative of RadSplitContainer, you can override its OnMouseDoubleClick method and introduce any custom logic that you need considering the element under the mouse. The GetSplitterElementAtPoint method gives you the respective splitter according to the mouse location. 

Following the provided information, I was unable to reproduce the issue you are facing. Please refer to the attached gif file illustrating the behavior on my end with the specified version. I have attached my sample project. Feel free to modify it in a way to reproduce the experienced issue and get back to me with it so I can investigate the precise case. Thank you in advance. 

I am converting this forum thread into a support ticket in order to allow attachments. You can find the ticket in Your Telerik Account.

I am looking forward to your reply.

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik

Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.