Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

DJ DeviL

Desabilitar TabControl

Recommended Posts

Olá...como eu faco pra desabilitar uma das abas de um tab control.....tipo...se eu usar tabname.enabled = false ele desabilita os campos e tal...mais a aba continua acessivel...eu gostaria de deixa ela inacessivel.....e tipo...tem como ''esconder'' uma aba??? pq se fizer tabname.visible = false nao acontece nada :PobrigadoGabriel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma aba (TabPage) de um TabControl é um objeto independente, portanto você pode simplesmente fazer ...

 

TabControl1.TabPages.Remove(TabPage1)

... para removê-lo do TabControl e, quanto quiser voltar com ele, bastará fazer:

 

TabControl1.TabPages.Add(TabPage1)

Certo? ;)

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eh...tudo funcionou quase perfeito....quando eu removo, ele some....mais quando eu mando ele aparecer denovo (TabControl1.TabPages.Add(TabPage1)), a tab volta VAZIA...heheheoq eu faco?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eh...tudo funcionou quase perfeito....quando eu removo, ele some....mais quando eu mando ele aparecer denovo (TabControl1.TabPages.Add(TabPage1)), a tab volta VAZIA...heheheoq eu faco?

Aqui não acontece isso não... eu lembro que testei com uma label nela e esta voltava exatamente no mesmo lugar. Os controles dentro da aba são gerados dinâmicamente? Eu não testei isso.Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao...sei lah o q tava acontecendo, mais agora ele some e aparece normalmente....a unica coisa q eu gostaria de saber eh, como eu faco pra coloca-lo na mesma posicao q estava (no caso, eu quero desabilitar a 2 aba [index 1] e depois, habilita-la novamente no memso lugar), porque quando eu removo e adiciono, ele entra na ultima posicao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Guarde a posição dela na lista de abas antes de removê-la...

 

Dim pos As Integer = TabControl1.TabPages.IndexOf(TabPage1)		TabPage1.Tag = pos		TabControl1.TabPages.Remove(TabPage1)

... e depois utilize o método Insert, que permite você especificar a posição, passando para ele a posição anterior dela:

 

TabControl1.TabPages.Insert(TabPage1.Tag, TabPage1)

Certo? ;)

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse ''Insert''...nao existe.....__________aaahhh jah sei o pq de ''nao existir''....vou instalar o sdk 2.0 e depois eu vejo se funciona.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse ''Insert''...nao existe.....

Ops... existe, mas só na .NET Framework 2.0, o que significa que você teria que estar utilizando o Visual Studio 2005.

As alternativas para o método Insert() na .NET Framework 1.0 ou 1.1 seriam: 1 - remover todas as abas para um array ou uma ArrayList e depois ao colocá-las de volta colocar a determinada aba na posição desejada; 2 - ou, criar uma nova aba e sair deslocando os itens (abas) a partir da posição desejada, de forma que a mesma fique livre para ser definida como a aba que tinha saído. Esta última maneira seria melhor, mas é necessário fazer para saber se funciona na prática.

 

Abraços,

 

Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara......se eu instalar o ms .net framework 2.0, mesmo usando o vs 2003, teoricamente, nao deveria funcionar????pq eu instalei o framework 2.0 mais nao funciona o evento .insert

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara......se eu instalar o ms .net framework 2.0, mesmo usando o vs 2003, teoricamente, nao deveria funcionar????

Não, e foi isso que eu disse na primeira frase do meu post anterior. Para utilizar a .NET Framework 2.0 você precisa do Visual Studio 2005.Abraços,Graymalkin

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.