dipacheco 0 Posted March 4, 2011 Report Share Posted March 4, 2011 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! Link to post Share on other sites
Caça 17 Posted March 4, 2011 Report Share Posted March 4, 2011 Ocultar apenas um TabPage não Pedro Martins Não respondo a duvidas por PM Link to post Share on other sites
dipacheco 0 Posted March 4, 2011 Author Report Share Posted March 4, 2011 ocultar todos... mostrar apenas o conteudo de um!... é possivel? Link to post Share on other sites
Caça 17 Posted March 4, 2011 Report Share Posted March 4, 2011 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 Link to post Share on other sites
dipacheco 0 Posted March 4, 2011 Author Report Share Posted March 4, 2011 pena... dava-me imenso jeito! Link to post Share on other sites
dipacheco 0 Posted March 4, 2011 Author Report Share Posted March 4, 2011 e dá para ao carregar num botão ele mudar d página?? do genéro botao1-> pagina1, botao2->pagina2?! Link to post Share on other sites
ribeiro55 47 Posted March 4, 2011 Report Share Posted March 4, 2011 .NET rapaziada 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" Link to post Share on other sites
Caça 17 Posted March 4, 2011 Report Share Posted March 4, 2011 É assim mesmo, se não existe, cria-se Pedro Martins Não respondo a duvidas por PM Link to post Share on other sites
dipacheco 0 Posted March 4, 2011 Author Report Share Posted March 4, 2011 thanks!!! Link to post Share on other sites
SLIFE 0 Posted March 23, 2011 Report Share Posted March 23, 2011 .NET rapaziada 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 Link to post Share on other sites
Caça 17 Posted March 23, 2011 Report Share Posted March 23, 2011 Qual erro? Pedro Martins Não respondo a duvidas por PM Link to post Share on other sites
SLIFE 0 Posted March 23, 2011 Report Share Posted March 23, 2011 Qual erro? Na Class na linha onde se encontra o Inherits TabControl A palavra TabControl fica sublinhada e nao me deixa compilar! Sandro Coelho Link to post Share on other sites
ribeiro55 47 Posted March 23, 2011 Report Share Posted March 23, 2011 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" Link to post Share on other sites
SLIFE 0 Posted March 24, 2011 Report Share Posted March 24, 2011 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 Link to post Share on other sites
ribeiro55 47 Posted March 24, 2011 Report Share Posted March 24, 2011 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" Link to post Share on other sites
SLIFE 0 Posted March 24, 2011 Report Share Posted March 24, 2011 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 Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now