About a year ago my team leader asked me to write a control which mimics the behavior of Telerik RadPanelBar for ASP.NET.

I had just finished the development of RadToolStrip so I though “Hmm, a panelbar for WinForms. It shouldn’t be too big of a deal. There is no dragging of toolStripItems, there are no floating forms, the add/remove should be easy to do, etc. But it turned out that it was a bit harder to do than I anticipated. Several issues popped up shortly after the Q1 2007 release, mostly related to performance and to controls being hosted in the panelbar.

So I decided to review the control and improve its usability for Q3 2007. I noticed several things I did not like in my code. Back then I was a new face in Telerik, and although I have a strong development background, I had little experience with controls and components. Looking at my code now I started to realize how much I have learned in this past year! Many methods were not properly implemented, there was obscure code, and the whole product seemed like an afterthought. At the same time there were some very cool things about it – the themes were nice and could be reused, the API seemed to be in place, and the documentation was there as well!

After discussing this with the team we decided to start over, from scratch, but with the new layouts we have been working on. I have kept the old API for backwards compatibility, as well as the old themes which were indeed very good.

After a month of intense development I am happy to introduce the new version of our RadPanelBar control! We implemented the new layouts which brought major performance improvements in expanding/collapsing RadPanelBarGroupElements, as well as to resizing when using the grip in Outlook style panelbar. I added several self-explanatory new events to provide our customers with some extra flexibility:

  • PanelBarGroupExpanded
  • PanelBarGroupExpanding
  • PanelBarGroupSelected
  • PanelBarGroupSelecting
  • PanelBarGroupCollapsed
  • PanelBarGroupCollapsing
  • PanelBarGroupUnSelected
  • PanelBarGroupUnSelecting

All visual glitches that came from scrolling have been removed and scrolling with hosted controls now works in Explorer Bar and VS2005 styles. Design-time support has been enhanced and is much more intuitive. And finally, I had some time to enhance the themes:
 

There are just a few breaking changes in the property/method names, but switching to the new version should be an easy task. I'll be happy to hear your feedback and will welcome any suggestions you may have on improving the new RadPanelBar for WinForms.


About the Author

Nikolay Diyanov

Diyanov is the Product Manager of the Native Mobile UI division at Progress. Delivering outstanding solutions that make developers' lives easier is his passion and the biggest reward in his work. In his spare time, Nikolay enjoys travelling around the world, hiking, sun-bathing and kite-surfing.

Find him on Twitter @n_diyanov or on LinkedIn.

Comments

Comments are disabled in preview mode.