https://zoheirsoftware.com/blog/splitter-control-in-csharp