4

enter image description here

This is what the option dialog window looks like in Outlook 2010. I wonder how I can create a similar option window with C# WinForm controls.

Looking at it first, I thought it kinda works like TabControl. But TabControl doesn't seem to offer Left/Right panel layout.

Then, I thought of SplitContainer control and could probably take advantage of it, where the left panel could be having a list of menu buttons, and the right panel displaying the option details.

However, here also comes the problems, how can I create menu buttons that look like those in the screenshot then?

Perhaps, there're some existing controls that I am missing. If WinForm doesn't look good here, what else could I try?

halfer
  • 19,824
  • 17
  • 99
  • 186
woodykiddy
  • 6,074
  • 16
  • 59
  • 100
  • This is a better way to hide the headers [link][1] [1]: http://stackoverflow.com/a/6954785/1750895 – albert Mar 19 '13 at 18:46

2 Answers2

1

You can use TabControl, hide all of it's tabs. Add a ListView with the tab names to the left and change active tab when list view selection changes.

alex
  • 12,464
  • 3
  • 46
  • 67
  • Hmm, can't seem to find a way to hide the tab. I do find the alignment property though. By setting alignment value to left, I can have tab displayed to the left side. – woodykiddy Mar 19 '13 at 08:38
  • Here are some options to hide tab heades - http://stackoverflow.com/questions/6255600/winforms-hiding-tabcontrol-headers – alex Mar 19 '13 at 08:57
  • this option becomes bad when you have many controls. if you change the property of a control in the form with say 300 controls, in some cases, it would take 10 - 20 seconds to effect – Smith Oct 19 '17 at 17:24
0

Just like alex stated you are on the right track, add a splitcontainer, place the listview in the right and create a new control component for the special Tab (with no header) and place the new Tabcontrol in the left. I particularly like this method of creating this special tab: TabControlNoHeader. It gives you option to enable header or not.

saheedmyself
  • 7
  • 1
  • 6