claro que cambiando el nombre a los controladores ejemplo "el textbox1 del TabPage 1 al generarse el nuevo tabPage "que cambie su nombre a "textbox1" o "textbox1_2" y t un boton para eliminar TabPages.
Has dicho "controladores", pero en realidad creo que te debes estar refiriendo al nombre de los controles más que al nombre de los controladores de eventos que tengas declarados en el código.
En principio a menos que des más detalles no parece existir necesidad real de crear los controles en tiempo de ejecución y querer modificarle el nombre para evitar conflicto de nombres etc, y como parece que tu intención es la de replicar el contenido de una pestaña a otra, los mismos controles (las nuevas copias) pueden estar suscritos (todos) a un único controlador de eventos, no necesitas repetir código más de lo realmente necesario...
Simplemente añade un nuevo Form (sin borde) en tu proyecto (click derecho -> "Add" -> "Windows Form..."), añádele los controles que quieras, distribuye la posición de los controles y ponle los nombres que quieras, y declara los controladores de eventos en la clase de ese Form, luego para añadir una nueva pestaña en tiempo de ejecución y añadir dentro de esa pestaña una "copia" de ese Form, simplemente debes crear una nueva instancia del Form (en este caso supongamos que el Form se llama "MyCustomForm"), por ejemplo:
Dim page1 As New TabPage("new tab page 1")
Dim childForm1 As New MyCustomForm With {
.Dock = DockStyle.Fill,
.FormBorderStyle = FormBorderStyle.None,
.TopLevel = False,
.Visible = True,
.Parent = page1
}
Dim page2 As New TabPage("new tab page 2")
Dim childForm2 As New MyCustomForm With {
.Dock = DockStyle.Fill,
.FormBorderStyle = FormBorderStyle.None,
.TopLevel = False,
.Visible = True,
.Parent = page2
}
TabControl1.TabPages.AddRange({page1, page2})
( De ese ejemplo que acabo de poner puedes crear un sencillo método reutilizable para evitar la repetición de código. )
...La otra opción alternativa a esta metodología, sería directamente añadir los controles y posicionarlos en tiempo de ejecución dentro de la pestaña (el contenedor de controles) mediante el método
TabControl.TabPages(index).Controls.Add(), pero no hay necesidad real de hacerlo así cuando puedes crear un Form en tiempo de diseño para administrar su aspecto y todo lo demás de mejor manera, y así evitar la generación de código engorroso que implica crear y liberar controles y administrar sus nombres y las posiciones y todo lo demás en tiempo de ejecución mediante código... pero bueno, la decisión es tuya, hazlo como prefieras solo era un consejo.
Saludos