none
abrir una pestaña determinada dentro de un form RRS feed

  • Pregunta

  • Buenas tardes, espero que me puedan ayudar con lo siguiente:

    Desde un menu principal llamo a los forms de la siguiente manera: form1.showdialog()

    Bien, resulta que dentro de un form2 coloque un tabcontrol con 2 tabpages (tabpage(0) y tabpage(1))

    Lo que quiero es que cuando llame al form2 desde mi menu principal, se abra el form2 y que me muestre directamente la segunda pesaña (tabpage(1))  y no la primera.


    Ale

    sábado, 19 de octubre de 2013 14:59

Respuestas

  • "AleDD" preguntó:

    > Lo que quiero es que cuando llame al form2 desde mi
    > menu principal, se abra el form2 y que me muestre
    > directamente la segunda pesaña (tabpage(1))  y no
    > la primera.

    Hola:

    Si SIEMPRE deseas que se muestre la segunda pestaña (llamada TabPage1) cuando se abre el formulario llamado Form2, la solución es tan sencilla como ejecutar lo siguiente en el evento Load de dicho formulario:

        Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            ' Seleccionamos el control TabPage llamado TabPage1
            '
            TabControl1.SelectedTab = TabPage1
    
        End Sub

    Ni que decir tiene que seleccionamos el control TabPage por su nombre, no por un índice, y por defecto, la segunda pestaña del control TabControl se llama TabPage2, siendo TabPage1 el nombre de la primera pestaña.

    Un saludo


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    sábado, 19 de octubre de 2013 15:12
    Moderador
  • "AleDD" preguntó:

    > hay alguna manera de hacerlo con ShowDialog? por que
    > si quiero llamar a otras pestañas

    Eso se dice desde un primer momento y no tenemos que estar perdiendo el tiempo. ¿OK? :-(

    Para hacerlo con el método ShowDialog, tienes que sobrecargar dicho método en la clase Form2:

    Public Class Form2
    
        Public Overloads Function ShowDialog(index As Integer) As DialogResult
    
            TabControl1.SelectedIndex = index
    
            Return MyBase.ShowDialog()
    
        End Function
    
    End Class

    Y para que se muestre la segunda pestaña (índice 1 del control TabControl), llamarías al método ShowDialog de la siguiente manera:

            Using frm As New Form2()
                frm.ShowDialog(1)
            End Using

    Te recuerdo que los índices están en base cero: el primero es el 0, el segundo el 1, el tercero el 2, etc.

    Si por casualidad no existe un control TabPage con el índice especificado, se mostrará el primer control TabPage existente, aquel que tenga el índice 0.

     


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    sábado, 19 de octubre de 2013 15:51
    Moderador

Todas las respuestas

  • "AleDD" preguntó:

    > Lo que quiero es que cuando llame al form2 desde mi
    > menu principal, se abra el form2 y que me muestre
    > directamente la segunda pesaña (tabpage(1))  y no
    > la primera.

    Hola:

    Si SIEMPRE deseas que se muestre la segunda pestaña (llamada TabPage1) cuando se abre el formulario llamado Form2, la solución es tan sencilla como ejecutar lo siguiente en el evento Load de dicho formulario:

        Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    
            ' Seleccionamos el control TabPage llamado TabPage1
            '
            TabControl1.SelectedTab = TabPage1
    
        End Sub

    Ni que decir tiene que seleccionamos el control TabPage por su nombre, no por un índice, y por defecto, la segunda pestaña del control TabControl se llama TabPage2, siendo TabPage1 el nombre de la primera pestaña.

    Un saludo


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    sábado, 19 de octubre de 2013 15:12
    Moderador
  • Gracias, y hay alguna manera de hacerlo con ShowDialog? por que si quiero llamar a otras pestañas

    Ale

    sábado, 19 de octubre de 2013 15:37
  • "AleDD" preguntó:

    > hay alguna manera de hacerlo con ShowDialog? por que
    > si quiero llamar a otras pestañas

    Eso se dice desde un primer momento y no tenemos que estar perdiendo el tiempo. ¿OK? :-(

    Para hacerlo con el método ShowDialog, tienes que sobrecargar dicho método en la clase Form2:

    Public Class Form2
    
        Public Overloads Function ShowDialog(index As Integer) As DialogResult
    
            TabControl1.SelectedIndex = index
    
            Return MyBase.ShowDialog()
    
        End Function
    
    End Class

    Y para que se muestre la segunda pestaña (índice 1 del control TabControl), llamarías al método ShowDialog de la siguiente manera:

            Using frm As New Form2()
                frm.ShowDialog(1)
            End Using

    Te recuerdo que los índices están en base cero: el primero es el 0, el segundo el 1, el tercero el 2, etc.

    Si por casualidad no existe un control TabPage con el índice especificado, se mostrará el primer control TabPage existente, aquel que tenga el índice 0.

     


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    sábado, 19 de octubre de 2013 15:51
    Moderador
  • Gracias...a pesar de la manera:

    Eso se dice desde un primer momento y no tenemos que estar perdiendo el tiempo. ¿OK? :-(


    Ale

    sábado, 19 de octubre de 2013 16:17