Jump to content
dipacheco

Não mostrar separadores de tabcontrol

Recommended Posts

dipacheco

Boas pessoal... mais uma duvida!

É possível criar um tabcontrol com N separadores mas só mostrar o q m interessa? O controlador dá-me jeito para criar várias coisas num só form mas queria poder navegar pelo controlador apenas internamente, sem dar ao utilizador a liberdade de o fazer tambem...

basicamente quero usar um tabcontrol sem ser visivel a sua existencia pois a unica coisa q o user iria ver era o conteudo de cada tabpage, ha medida q eu lhe permitia!

Share this post


Link to post
Share on other sites
Caça

Ocultar apenas um TabPage não


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Caça

Já disse que não, ou ocultas o TabControl ou não ocultas nada.

Os TabPages não dão para ocultar


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dipacheco

e dá para ao carregar num botão ele mudar d página?? do genéro botao1-> pagina1, botao2->pagina2?!

Share this post


Link to post
Share on other sites
ribeiro55

.NET rapaziada :P

Vamos dar a volta à coisa com algo que me ocorreu e acabei de testar.

Criem uma classe e façam-na herdar o TabControl.

Dentro dessa classe vamos manter um dicionário de nomes e tabpages.

Quando queremos ocultar uma tabpage, vamos adiciona-la a essa colecção e removemos a tab do tabcontrol.

Para recuperar, retiramos do dicionário e voltamos a meter no tabcontrol.

Public Class TabControlEspecial
    Inherits TabControl

    Private TabsEscondidas As New Dictionary(Of String, TabPage)

    Public Sub EsconderTab(ByVal NomeTab As String)
        If Not TabsEscondidas.ContainsKey(NomeTab.ToLower) And MyBase.TabPages.ContainsKey(NomeTab) Then
            TabsEscondidas.Add(NomeTab.ToLower, MyBase.TabPages(NomeTab.ToLower))
            MyBase.TabPages.Remove(MyBase.TabPages(NomeTab.ToLower))
        End If
    End Sub

    Public Sub RecuperarTab(ByVal NomeTab As String)
        If TabsEscondidas.ContainsKey(NomeTab.ToLower) Then
            MyBase.TabPages.Add(TabsEscondidas(NomeTab.ToLower))
            TabsEscondidas.Remove(NomeTab.ToLower)
        End If
    End Sub

End Class

Basta compilarem o projecto uma vez para que "TabControlEspecial" apareça na toolbox.

Usem-no como qualquer outro TabControl.

Quando quiserem esconder um tab, chamem EsconderTab("nomedotab").

Para recuperar chamem RecuperarTab("nometab")

Escrevi isto agora há 5 minutos atrás e não tem o mínimo de esforço para prever erros, so keep your eyes peeled.

EDIT

e dá para ao carregar num botão ele mudar d página?? do genéro botao1-> pagina1, botao2->pagina2?!

Sim. Quer por chave, índice ou referência directa.

TabControl1.SelectedTab = TabControl1.TabPages("nometab")

TabControl1.SelectedTab = TabControl1.TabPages(0)

TabControl1.SelectedTab = TabPage1


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
Caça

É assim mesmo, se não existe, cria-se :P


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
SLIFE

.NET rapaziada :confused:

Vamos dar a volta à coisa com algo que me ocorreu e acabei de testar.

Criem uma classe e façam-na herdar o TabControl.

Como fazes para a classe herdar o tabcontrol ????

    Inherits TabControl

Criei uma nova Classe e nesta linha fica sublinhado dado erro!

O que poderá ser?

Cpts

SJC

 


Sandro Coelho

Share this post


Link to post
Share on other sites
SLIFE

Qual erro?

Na Class na linha onde se encontra o

Inherits TabControl

A palavra TabControl fica sublinhada e nao me deixa compilar!


Sandro Coelho

Share this post


Link to post
Share on other sites
ribeiro55

Que fica sublinhada e não te deixa compilar já nós sabemos.

Qual é o erro que te é devolvido? Verifica a caixa de erros ao fundo do IDE ou passa simplesmente o rato por cima da "palavra sublinhada".


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
SLIFE

Que fica sublinhada e não te deixa compilar já nós sabemos.

Qual é o erro que te é devolvido? Verifica a caixa de erros ao fundo do IDE ou passa simplesmente o rato por cima da "palavra sublinhada".

Boas Sergio

O erro que dá é type expected

E aconselha a trocar para Windows.Forms.TabControl

Ao trocar deixa de aparecer em sublinhado e ja deixa compilar.

Aparece na toolbox e da para adicionar ao form.

Mas depois quando fazes EsconderTab("TabPage2"), fica sublinhado o EsconderTab, dizendo que nao foi declarado.

Tenho que criar alguma variavel?

Cpts

SJC


Sandro Coelho

Share this post


Link to post
Share on other sites
ribeiro55

Como é que é possível não teres referência, por defeito, a Windows.Forms numa aplicação Windows Forms?

Em que ambiente estás a tentar isto, e em que tipo de projecto?

EsconderTab é um método da classe, logo terá que ser chamado com referência explícita à classe, por exemplo:

TabControlEspecial1.EsconderTab("TabPage1")


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
SLIFE

Como é que é possível não teres referência, por defeito, a Windows.Forms numa aplicação Windows Forms?

Em que ambiente estás a tentar isto, e em que tipo de projecto?

EsconderTab é um método da classe, logo terá que ser chamado com referência explícita à classe, por exemplo:

TabControlEspecial1.EsconderTab("TabPage1")

Boas

Assim funciona

Coloquei na class

Inherits Windows.Forms.TabControl

E no form estava só a colocar o

EsconderTab("TabPage2")

Em vez de colocar como disses-te

TabControlEspecial1.EsconderTab("TabPage1")

Assim faz o que disses-te.

Esconde e aparece sempre que solicitado.

Obrigado pela ajuda.

Cpts

SJC


Sandro Coelho

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.