Visual Studio > Fóruns do Visual Studio > C# > Inserindo TabPage ao TabControl
Fazer uma PerguntaFazer uma Pergunta
 

RespondidoInserindo TabPage ao TabControl

  • sexta-feira, 30 de outubro de 2009 10:46[VAZA] Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Pessoal,
    estou tentando inserir um TabPage a um TabControl e o VS 2008 me mostra o seguinte erro: "Value does not fall within the expected exception."
    Meu codigo:
    _tabInspecao.TabPages.Add(_tabExportacao);
    O que estou fazendo de errado?
    mesmo eu removendo o tabpage antes de tentar inserir-lo no TabControl, ele me retorna o mesmo erro.
    Pelo que eu li no manual, é que eu estou tentando passar um objeto que não é do tipo que o método esta esperando.
    Porém o método Add ou Insert do tabcontrol me solicita um TabPage...
    tentei até fazer um cast mas nada:
    _tabInspecao.TabPages.Add((TabPage)_tabExportacao);

    Sad
    Alguém pode me dar uma luz?

Respostas

Todas as Respostas

  • sexta-feira, 30 de outubro de 2009 16:30Ari C. Raimundo Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Vaza,

    Tem certeza que o problema é nessa linha mesmo? Poderia dar mais detalhes do código que está utilizando?

    Na verdade a exception gerada é "Value does not fall within expected range", correto?

    Att.

    Ari C. Raimundo
  • sexta-feira, 30 de outubro de 2009 22:08MárcioLima Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Contém Código
    Olá Vaza,

    No exemplo abaixo, não houve problema.

            private void button1_Click(object sender, EventArgs e)
            {
                TabPage tabPage2 = new TabPage("Nova");
                tabControl1.TabPages.Add(tabPage2);
            }
    


    Saudações

    Márcio Lima
  • terça-feira, 3 de novembro de 2009 12:35[VAZA] Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Deu certo pois identifiquei o problema
    eu estava criando no SelectedIndexChanged de um combobox...e ele gerava erro por causa disso.

    Porém tenho outras 2 perguntas:
    Como faço para oganizar uma aba? por exemplo, gostaria que a aba que eu acabei de adicionar ao Tabcontrol seja a 3a aba.
    E também, como eu faço para verificar se uma TabPage já esta contida dentro de um TabControl?
  • terça-feira, 3 de novembro de 2009 12:43Ari C. Raimundo Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    Vaza,

    Respondendo a sua pergunta:

    1 - Como faço para oganizar uma aba?

    TabPage controls represent the tabbed pages in a TabControl control. The order of tab pages in the TabControl.TabPages collection reflects the order of tabs in the TabControl control. To change the order of tabs in the control, you must change their positions in the collection by removing them and inserting them at new indexes. (http://msdn.microsoft.com/en-us/library/system.windows.forms.tabpage.aspx )

    2 - Como eu faço para verificar se uma TabPage já esta contida dentro de um TabControl?

    Utilize o método Contains ou ContainsKey. Acredito que o método ContainsKey é a melhor opção no seu caso.

    TabControl.TabPageCollection.Contains Method
    http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.tabpagecollection.contains.aspx

    TabControl.TabPageCollection.ContainsKey Method
    http://msdn.microsoft.com/en-us/library/system.windows.forms.tabcontrol.tabpagecollection.containskey.aspx

    Att.

    Ari C. Raimundo
  • terça-feira, 3 de novembro de 2009 12:50Murilo Amaru Gomes Medalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     Respondido
    1) Use o Insert nele você pode dizer a TabPage e o índice.

    tabControl.TabPages.Insert(2, "Nome", "Nome"); // o segundo parametro será a chave pra você pesquisar depois se ja exsite

    2) Faça a verificação usando o IndexOfKey:

    if(tabControl.TabPages.IndexOfKey("Nome") == -1)
    // não existe

  • terça-feira, 3 de novembro de 2009 17:16Harley AraujoMSFT, ModeradorMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuárioMedalhas de usuário
     
    Boa tarde [VAZA]

    Por favor evite postar mais de uma duvida por Thread, isso pode fazer com que a thread fique aberta por um longo periodo sem necessidade !

    “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.
    Atenciosamente,
    Harley Araujo