Dúvidas esconder mostrar Panel
Bom dia a todos, estou tentando colocar em um Form um Panel com um botão onde ao clicar ele recolhe o Panel e se clicar novamente expande o mesmo.
Não estou conseguindo gerar um código que faça isso.
Segue imagem do progeto para melhor entendimento:[url]http://adilsonrumao.com/atm/tela.jpg[/url]
Consigo deixar o Panel Visible ou não, mas o botão não acompanha o panel, gostaria que ao ocultar o Panel o botão encostasse no menu acima.
Não estou conseguindo gerar um código que faça isso.
Segue imagem do progeto para melhor entendimento:[url]http://adilsonrumao.com/atm/tela.jpg[/url]
Consigo deixar o Panel Visible ou não, mas o botão não acompanha o panel, gostaria que ao ocultar o Panel o botão encostasse no menu acima.
private void button1_Click(object sender, EventArgs e) { if (panel1.Visible == false) panel1.Visible = true; else panel1.Visible = false; }
Adilson Rumao
Curtidas 0
Respostas
Alisson Santos
02/10/2012
Bom dia a todos, estou tentando colocar em um Form um Panel com um botão onde ao clicar ele recolhe o Panel e se clicar novamente expande o mesmo.
Não estou conseguindo gerar um código que faça isso.
Segue imagem do progeto para melhor entendimento:[url]http://adilsonrumao.com/atm/tela.jpg[/url]
Consigo deixar o Panel Visible ou não, mas o botão não acompanha o panel, gostaria que ao ocultar o Panel o botão encostasse no menu acima.
Não estou conseguindo gerar um código que faça isso.
Segue imagem do progeto para melhor entendimento:[url]http://adilsonrumao.com/atm/tela.jpg[/url]
Consigo deixar o Panel Visible ou não, mas o botão não acompanha o panel, gostaria que ao ocultar o Panel o botão encostasse no menu acima.
private void button1_Click(object sender, EventArgs e) { if (panel1.Visible == false) panel1.Visible = true; else panel1.Visible = false; }
GOSTEI 0
Alisson Santos
02/10/2012
Bom dia a todos, estou tentando colocar em um Form um Panel com um botão onde ao clicar ele recolhe o Panel e se clicar novamente expande o mesmo.
Não estou conseguindo gerar um código que faça isso.
Segue imagem do progeto para melhor entendimento:[url]http://adilsonrumao.com/atm/tela.jpg[/url]
Consigo deixar o Panel Visible ou não, mas o botão não acompanha o panel, gostaria que ao ocultar o Panel o botão encostasse no menu acima.
Não estou conseguindo gerar um código que faça isso.
Segue imagem do progeto para melhor entendimento:[url]http://adilsonrumao.com/atm/tela.jpg[/url]
Consigo deixar o Panel Visible ou não, mas o botão não acompanha o panel, gostaria que ao ocultar o Panel o botão encostasse no menu acima.
private void button1_Click(object sender, EventArgs e) { if (panel1.Visible == false) { panel1.heigth = o valor que quer que ele fique; } else { panel1.heigth = o valor que quer que ele fique; } }
Aconselho pegar o valor do tamanho que ele está e depois o valor do tamanho que ele vai ficar.
GOSTEI 0
Washington Morais
02/10/2012
Existe um componente nativo do AjaxControlToolkit que se chama CollapsiblePanel. Faz exatamente o que voce precisa.
Referência:
[url]http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CollapsiblePanel/CollapsiblePanel.aspx[/url]
Abraços
___________________
Washington Morais
MCP / MCTS
Referência:
[url]http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/CollapsiblePanel/CollapsiblePanel.aspx[/url]
Abraços
___________________
Washington Morais
MCP / MCTS
GOSTEI 0
Cristiano Santos
02/10/2012
Meu amigo, por acaso você quer fazer uma "janela" semelhante a que é utilizada na ToolBox, Solution Explorer do Visual Studio?
Caso sim, posso te passar uma ideia.
Abraços,
Cristiano Joaquim
Caso sim, posso te passar uma ideia.
Abraços,
Cristiano Joaquim
GOSTEI 0
Adilson Rumao
02/10/2012
Então estou usando assim?
Não estou conseguindo guardar a posição dele, no primeiro click tudo ok, mas do segundo em diante e muda a posição Y tipo se era 150 e joga o tamnho do Panel + 150.
private void button1_Click(object sender, EventArgs e) { if (panel1.Visible == false) { panel1.Visible = true; button1.Location = new Point(button1.Location.X, button1.Location.Y + 150); } else { panel1.Visible = false; button1.Location = new Point(button1.Location.X, button1.Location.Y - 118); } }
Não estou conseguindo guardar a posição dele, no primeiro click tudo ok, mas do segundo em diante e muda a posição Y tipo se era 150 e joga o tamnho do Panel + 150.
GOSTEI 0
Adilson Rumao
02/10/2012
Então estou usando assim?
Não estou conseguindo guardar a posição dele, no primeiro click tudo ok, mas do segundo em diante e muda a posição Y tipo se era 150 e joga o tamnho do Panel + 150.
private void button1_Click(object sender, EventArgs e) { if (panel1.Visible == false) { panel1.Visible = true; button1.Location = new Point(button1.Location.X, button1.Location.Y + 150); } else { panel1.Visible = false; button1.Location = new Point(button1.Location.X, button1.Location.Y - 118); } }
Não estou conseguindo guardar a posição dele, no primeiro click tudo ok, mas do segundo em diante e muda a posição Y tipo se era 150 e joga o tamnho do Panel + 150.
GOSTEI 0
Adilson Rumao
02/10/2012
Então galera desculpe, estou usando C# for Windows Forms.
GOSTEI 0
Washington Morais
02/10/2012
Tá mais fácil ainda. Existe uma extensão para o VisualStudio chamada Collapsible Panel for Windows Forms.
Voce pode baixar ele no endereço abaixo:
[url]http://visualstudiogallery.msdn.microsoft.com/40B89FC7-80FA-4E95-B707-506084F51D6B[/url]
É grátis.
Abraços
___________________
Washington Morais
MCP / MCTS
Voce pode baixar ele no endereço abaixo:
[url]http://visualstudiogallery.msdn.microsoft.com/40B89FC7-80FA-4E95-B707-506084F51D6B[/url]
É grátis.
Abraços
___________________
Washington Morais
MCP / MCTS
GOSTEI 0
Washington Morais
02/10/2012
Só mais uma dica. Configure a propriedade Anchor do botão. Ela indica se o botão deve acompanhar o controle ou não. Configure ele como Top e Left se não me engano.
Abraços
___________________
Washington Morais
MCP / MCTS
Abraços
___________________
Washington Morais
MCP / MCTS
GOSTEI 0
Adilson Rumao
02/10/2012
Já está com Top/Left
Subi meu teste para darem uma olhada, isso se puderem claro.
Segue link:
Obs: passei antivirus antes de subir.
Subi meu teste para darem uma olhada, isso se puderem claro.
Segue link:
http://adilsonrumao.com/atm/appgerencial.rar
Obs: passei antivirus antes de subir.
GOSTEI 0
Adilson Rumao
02/10/2012
Nossa que burrice ehm..
Valeu galera, fecho era problema de BIOS mesmo.
Muito obrigado pela ajuda.
Valeu galera, fecho era problema de BIOS mesmo.
Muito obrigado pela ajuda.
private void button1_Click(object sender, EventArgs e) { if (panel1.Visible == false) { panel1.Visible = true; button1.Location = new Point(button1.Location.X, button1.Location.Y + 118); O erro estava nesta posição } else { panel1.Visible = false; button1.Location = new Point(button1.Location.X, button1.Location.Y - 118); } }
GOSTEI 0
Washington Morais
02/10/2012
hehehe... Que bom que resolveu.
Não se preocupe que o problema de BIOS afeta a todos sem exceção. :)
Abraços
___________________
Washington Morais
MCP / MCTS
Não se preocupe que o problema de BIOS afeta a todos sem exceção. :)
Abraços
___________________
Washington Morais
MCP / MCTS
GOSTEI 0