none
Criar tabPage em runtime RRS feed

  • Pergunta

  • Bom Dia ...

    em um form  eu preciso ter " N " TabPage  iguais  ,  como eu faço para copiar os controles ( datagridview , textbox ,etc...)

     

    o codigo abaixo quase funciona :

    If Me.CriaTabComboBox.Text.Length > 0 Then

    Dim newPage As New TabPage()

    Dim ctl As Control = New Control

    For Each ctl In TabControl2.TabPages(0).Controls '

    newPage.Controls.Add(ctl)

    Next ctl

    TabControl2.TabPages.Add(newPage)

    newPage.Text = CriaTabComboBox.Text

    Else

    MsgBox(" SELECIONE A SEÇÃO ")

    CriaTabComboBox.Focus()

    End If

     

    porem para cada novo tab  ele apaga os controles do primeiro , e outros tab sao criados vazio .

     

    o que eu preciso fazer e criar em runtime varios tabs iguais

     

    Renato

    Vgsoft

     

    segunda-feira, 24 de dezembro de 2007 12:29

Respostas

  • Renato,

     

    Sim, este código funciona, mas você duplicou as tab não criou novas, então os objetos serão sempres os mesmos emtodas as tabs. Faça um teste.

     

    []s,

     

    segunda-feira, 24 de dezembro de 2007 17:22

Todas as Respostas

  • Renato,

     

    Você precisará inserir todos os controles das TABs também em tempo de execução, pois o comando que você usou cria somente a TAB, não os controles.

     

    []s,

    segunda-feira, 24 de dezembro de 2007 15:07
  • Solucionado :

     

    Private MyControls As ArrayList

     

    em  form load :

    MyControls = New ArrayList(TabPage6.Controls)

     

     

    no button add :

     

    Dim newPage As New TabPage()

    'Dim ctl As Control

    'For Each ctl In TabControl2.TabPages(0).Controls

    For Each ctl As Control In MyControls

    newPage.Controls.Add(ctl)

    Next ctl

    TabControl2.TabPages.Add(newPage)

    newPage.Text = CriaTabComboBox.Text

     

     

    eu crie um arraylist ,  no load eu instancie ele a tabpage que contem os controles , e no botao add eu gero quantos tab eu precisar .

    tem outras funcoes para preencher os datagrid de acordo com cada tabpage .

     

    se alguem precisar de ajuda  e so me passar um email

    vgsoft@bol.com.br

    Renato

     

     

    segunda-feira, 24 de dezembro de 2007 16:50
  • Carlos obrigado pela atencao .  eu consegui fazer funcionar , caso vc tenha alguma sugestao sobre este codigo , ficarei agradecido .

     

    obrigado

    Renato

    segunda-feira, 24 de dezembro de 2007 16:53
  • Renato,

     

    Sim, este código funciona, mas você duplicou as tab não criou novas, então os objetos serão sempres os mesmos emtodas as tabs. Faça um teste.

     

    []s,

     

    segunda-feira, 24 de dezembro de 2007 17:22