none
InvalidArgument=Value RRS feed

  • Pergunta

  • Olá

    Gente, estou com erro em meu código e não consigo identificar:

     If Not TabControl3.TabPages.Contains(tpProdutosComissao) Then
                    TabControl3.TabPages.Insert(TabControl3.TabCount + 1, tpProdutosComissao)
                End If
                If Not TabControl3.TabPages.Contains(tpHistoricoComissao) Then
                    TabControl3.TabPages.Insert(TabControl3.TabCount + 1, tpHistoricoComissao)
                End If
                If Not TabControl3.TabPages.Contains(tpHistVendas1) Then
                    TabControl3.TabPages.Insert(TabControl3.TabCount + 1, tpHistVendas1)
                End If

    Erro:

    InvalidArgument=Value of '2' is not valid for 'index'.
    Parameter name: index

    Alguém pode me ajudar? Desde já agradeço

    segunda-feira, 19 de dezembro de 2016 18:25

Respostas

  • Olá Rodrigo

    Obrigado por me ajudar. Realmente o count +1 estava incorreto.

    Possui 3 indices, mas começa por 0, ficando 0,1,2 então o próximo seria 3.

    O count retorna a quantidade de índices, ou seja, 3 (0,1,2), ficando certo, mas como eu acrescentava +1 então o indice ficava 4.

    Então o código correto é:

     If Not TabControl3.TabPages.Contains(tpProdutosComissao) Then
                    TabControl3.TabPages.Insert(TabControl3.TabCount, tpProdutosComissao)
                End If
                If Not TabControl3.TabPages.Contains(tpHistoricoComissao) Then
                    TabControl3.TabPages.Insert(TabControl3.TabCount, tpHistoricoComissao)
                End If
                If Not TabControl3.TabPages.Contains(tpHistVendas1) Then
                    TabControl3.TabPages.Insert(TabControl3.TabCount, tpHistVendas1)
                End If




    • Editado Eliseu5 segunda-feira, 19 de dezembro de 2016 20:44
    • Marcado como Resposta Eliseu5 segunda-feira, 19 de dezembro de 2016 20:45
    segunda-feira, 19 de dezembro de 2016 20:43

Todas as Respostas


  • O método insert recebe valores de qual tipo? Um dos 2 está invalido, veja o tipo e se a posição não é invalida ao fazer o Count + 1

    Rodrigo Reis Ferreira
    Microsoft Certified

    segunda-feira, 19 de dezembro de 2016 19:58
  • Olá Rodrigo

    Obrigado por me ajudar. Realmente o count +1 estava incorreto.

    Possui 3 indices, mas começa por 0, ficando 0,1,2 então o próximo seria 3.

    O count retorna a quantidade de índices, ou seja, 3 (0,1,2), ficando certo, mas como eu acrescentava +1 então o indice ficava 4.

    Então o código correto é:

     If Not TabControl3.TabPages.Contains(tpProdutosComissao) Then
                    TabControl3.TabPages.Insert(TabControl3.TabCount, tpProdutosComissao)
                End If
                If Not TabControl3.TabPages.Contains(tpHistoricoComissao) Then
                    TabControl3.TabPages.Insert(TabControl3.TabCount, tpHistoricoComissao)
                End If
                If Not TabControl3.TabPages.Contains(tpHistVendas1) Then
                    TabControl3.TabPages.Insert(TabControl3.TabCount, tpHistVendas1)
                End If




    • Editado Eliseu5 segunda-feira, 19 de dezembro de 2016 20:44
    • Marcado como Resposta Eliseu5 segunda-feira, 19 de dezembro de 2016 20:45
    segunda-feira, 19 de dezembro de 2016 20:43