1
resposta

[Dúvida] É possível fechar todas as abas ao mesmo tempo?

Em 13:30 no vídeo, para fechar as abas, no lugar de usar o “for”, não daria para se usar um código que faz fechar todas as abas ao mesmo tempo com um “if” ao invés de uma por uma? Não tenho muita experiencia prática com C# ainda, mas imaginei algo assim: se a contagem de tab pages for diferente de 0, todas elas são removidas. Apenas não sei se dá ou como se faria para aplicar a remoção de todos os elementos do array. Abaixo escrevi um código que imagino que esteja errado, mas que contém a ideia desejada.

if (Tbc_Aplicacoes.TabPages.Count != 0) { Tbc_Aplicacoes.TabPages.Remove(Tbc_Aplicacoes.TabPages[*]); }

Edit:

Agora logo antes de enviar, vi o post da solução alternativa do Felipe em que ele usa "while". Ainda assim, gostaria de saber se seria possível fechar todas elas ao mesmo tempo, já que com "while", elas também são removidas uma a uma.

1 resposta

Leandro, bom dia tudo bom? A melhor forma é percorrer o elemento de coleção de páginas e removendo uma a uma usando o método .Remove, abaixo um exemplo:

while (tabControl1.TabPages.Count > 0)
{
    TabPage tabPage = tabControl1.TabPages[0];
    tabControl1.TabPages.Remove(tabPage);
    tabPage.Dispose(); // Libera recursos
}

Espero que tenha ajudado e, qualquer coisa, estamos à disposição!

Abraços e bons estudos 😄


Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!