Esto es fácil de hacer sin extender TabControl/TabPage.
Defina un UserControl y coloque los elementos comunes que desee en cada TabPage.
En el formulario: siga adelante y diseñe los controles específicos de TabPage que desee para cada TabPage: asegúrese de que no se superpongan visualmente con los controles comunes una vez que se haya agregado el UserControl.
En el evento Form Load del Formulario principal de hacer algo como esto:
// 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();
}
}
A pesar de que la 'SendToBack no es realmente necesario aquí está 'seguro' de que el control de usuario con el' botón Aceptar y TextBox para un mensaje de error se colocan detrás de los controles individuales que ha asignado a cada TabPage.
¿Un botón Aceptar en cada página? –
no es la respuesta correcta, pero creo que haré una prueba ampliando el tabcontrolpage original, agregando las funciones comunes que necesita – michele