elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Boton que agregue TabPages a un TabControl
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Boton que agregue TabPages a un TabControl  (Leído 1,476 veces)
_CrisiS_

Desconectado Desconectado

Mensajes: 275


Ver Perfil
Boton que agregue TabPages a un TabControl
« en: 13 Diciembre 2017, 13:46 »

Hola, tengo una consulta tengo un TabControl con 3 Pestañas "TabPages" mi duda es por medio de un boton agregar mas pestañas o TabPages, con el contenido (textbox, labels ,botones, etc) 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.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.709



Ver Perfil
Re: Boton que agregue TabPages a un TabControl
« Respuesta #1 en: 13 Diciembre 2017, 14:36 »

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:

Código
  1. Dim page1 As New TabPage("new tab page 1")
  2. Dim childForm1 As New MyCustomForm With {
  3.    .Dock = DockStyle.Fill,
  4.    .FormBorderStyle = FormBorderStyle.None,
  5.    .TopLevel = False,
  6.    .Visible = True,
  7.    .Parent = page1
  8. }
  9.  
  10. Dim page2 As New TabPage("new tab page 2")
  11. Dim childForm2 As New MyCustomForm With {
  12.    .Dock = DockStyle.Fill,
  13.    .FormBorderStyle = FormBorderStyle.None,
  14.    .TopLevel = False,
  15.    .Visible = True,
  16.    .Parent = page2
  17. }
  18.  
  19. 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


« Última modificación: 13 Diciembre 2017, 14:57 por Eleкtro » En línea


_CrisiS_

Desconectado Desconectado

Mensajes: 275


Ver Perfil
Re: Boton que agregue TabPages a un TabControl
« Respuesta #2 en: 13 Diciembre 2017, 22:21 »

Vaya gracias pro la ayuda, solo la duda, al hacer siempre ese llamado a ese Sub Form,  como haria para no tener problemas al momento de guardar los registro a la BD.
Por otro lado como pondria el contador para que cada pestaña nueva sume " Pestaña2,Pestaña,3Pestaña4....Pestaña n"
 gracias :D
En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 506



Ver Perfil
Re: Boton que agregue TabPages a un TabControl
« Respuesta #3 en: 17 Diciembre 2017, 17:54 »

Si entendí bien seria así (pestaña 1 - pestaña 2 - pestaña 3 ...):

1) crea un TabControl sin pestañas
2) crea un boton


código del FORMULARIO :

Código
  1. Public Class Form1
  2.    Dim cont As Integer = 0
  3.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  4.        Dim tabpage As New TabPage
  5.        cont = cont + 1
  6.        tabpage.Text = "Pestaña" & cont
  7.        TabControl1.TabPages.Add(tabpage)
  8.  
  9.    End Sub
  10. End Class

________________________________________________________________________________________________________________________________________

si quieres agregarles controles como ( botones - textbox - etc ) :

1) crea un TabControl sin pestañas
2) crea un botón.

código del FORMULARIO :

Código
  1. Public Class Form1
  2.    Dim cont As Integer = 0
  3.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  4.        Dim tabpage As New TabPage
  5.        cont = cont + 1
  6.        tabpage.Text = "Pestaña" & cont
  7.        Dim textbox1 As New TextBox
  8.        Dim textbox2 As New TextBox
  9.  
  10.        textbox1.Parent = tabpage
  11.        textbox2.Parent = tabpage
  12.  
  13.        textbox1.Location = New Point(10, 10)
  14.        textbox2.Location = New Point(10, 30)
  15.  
  16.        TabControl1.TabPages.Add(tabpage)
  17.  
  18.    End Sub
  19. End Class


                                 COMENTA SI TE SIRVIO  ;-)
« Última modificación: 17 Diciembre 2017, 17:58 por **Aincrad** » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
TabControl
Programación Visual Basic
CsarGR 1 765 Último mensaje 19 Diciembre 2005, 18:44
por el_chente23
Ayuda con TabControl
.NET (C#, VB.NET, ASP)
eldiegofg 2 3,027 Último mensaje 1 Abril 2010, 06:00
por papita5
Agregue disco IDE y windows se reinicia [F1] « 1 2 »
Windows
Maurice_Lupin 15 4,495 Último mensaje 14 Febrero 2014, 03:44
por Maurice_Lupin
Ayuda con TabPages y RichTextBox!
.NET (C#, VB.NET, ASP)
Y0tta 1 927 Último mensaje 8 Febrero 2016, 08:32
por Eleкtro
MOVIDO: Ayuda con TabPages y RichTextBox!
Programación Visual Basic
Eleкtro 0 635 Último mensaje 8 Febrero 2016, 08:09
por Eleкtro
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines