A TabControl is a multipage container that can be used to display several related forms in a compact manner.

The TabControl maintains a collection of TabPages and renders a set of buttons that can be used to switch between those tabs. The number of tabs in the control can be obtained through the TabCount property. You can also retrieve the SelectedTab (or the SelectedIndex in the TabPages collection).

If there are more tabs than there is room for, you can enable Multiline display to show them in multiple rows, rather than allow the default scrolling behavior. The number of these rows is available in the RowCount property. The position of the tabs relative to the container can be set with the Alignment property.

The Appearance of the tabs can be modified. The SizeMode allows you to determine whether the tabs are of a Fixed width size to their content (Normal) or run the entire width of the control (FillToRight—you must enable Multiline to use this mode). You can also enable HotTrack, which changes the appearance of the tab on mouse over. For maximum control, you can set the DrawMode to TabDrawMode.OwnerDrawFixed and bind to the DrawItem event to paint the tabs yourself. See DrawItemEventArgs for more information about owner draw in general.

If you want to support Windows XP themes, you need to ensure that the controls Appearance is set to Normal, and that you have a manifest reference for the Common Controls v6. This will cause the tabs themselves to appear correctly, ...

Get .NET Windows Forms in a Nutshell now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.