Jest to łatwe do zrobienia bez rozszerzenia TabControl/TabPage.
Zdefiniuj jedną kontrolkę UserControl i umieść na niej odpowiednie elementy wspólne na każdej karcie TabPage.
Na formularzu: dalej i zaprojektuj kontrolki TabPage, które chcesz dla każdej TabPage: upewnij się, że nie będą się nakładać wizualnie ze zwykłymi kontrolkami po dodaniu UserControl.
w przypadku Form Load głównym formularzu zrobić coś takiego:
// form scoped variable to hold a referece to the current UserControl
private UserControl1 currentUserControl;
private void Form1_Load(object sender, EventArgs e)
{
foreach(TabPage theTabPage in tabControl1.TabPages)
{
currentUserControl = new UserControl1();
theTabPage.Margin = new Padding(0);
theTabPage.Padding = new Padding(0);
theTabPage.Controls.Add(currentUserControl);
currentUserControl.Location = new Point(0,0);
currentUserControl.Dock = DockStyle.Fill;
currentUserControl.SendToBack();
}
}
Choć „SendToBack naprawdę nie jest wymagana tu jest«ubezpieczenie», że UserControl z” przyciskiem porządku i TextBox dla komunikatu o błędzie znajduje się za poszczególnymi kontrolkami przypisanymi do każdej strony TabPage.
Przycisk OK na każdej stronie? –
Niewłaściwie odpowiedź, ale myślę, że zrobię test rozszerzający oryginalną stronę tab, dodając wspólne cechy, których potrzebujesz – michele