Use something like
Panel
s. Stack them, as pointed before by a fellow programmer. But don't design them all in a class.
Create a base class:
public class MyTab : UserControl
Then, make and design your individual tabs in individual files:
public sealed class MyFirstTab : MyTab
public sealed class MySecondTab : MyTab
And so on...
Finally, in your
Form
:
private List<MyTab> myTabs = new List<MyTab>();
Add the tabs to the
List
:
myTabs.Add(new MyFirstTab());
myTabs.Add(new MySecondTab());
And add them to the
Form
:
this.Controls.AddRange(myTabs.ToArray());
So, when you need one of them, you just have to remember its ordinal number. (If you want to refine it, you may store them in a
Dictionary<string, MyTab>
and refer them by name instead)
myTabs[index].BringToFront();
Hope that helps.
An Accept Answer helps me too ;-)