Это легко сделать без расширения TabControl/TabPage.
Определите один UserControl и поместите на него все элементы, которые вы хотите на каждой вкладке.
В форме: перейдите и создайте специальные элементы TabPage, которые вы хотите для каждой вкладки: убедитесь, что они не будут визуально перекрываться с общими элементами управления после добавления UserControl.
в виде нагрузки события вашей основной формы сделать что-то вроде этого:
// 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();
}
}
Даже если «SendToBack не действительно требуется здесь„страхование“, что ваш UserControl с» кнопкой Okay и TextBox для сообщения об ошибке помещается за отдельными элементами управления, назначенными каждой вкладке.
Кнопка OK на каждой странице? –
Не правильно ответ, но я думаю, что я сделаю некоторый тест, расширяющий исходную tabcontrolpage, добавив общие функции, которые вам нужны. – michele