Dúvidas esconder mostrar Panel

02/10/2012

0

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.

private void button1_Click(object sender, EventArgs e)
        {
            if (panel1.Visible == false)
                panel1.Visible = true;
            else
                panel1.Visible = false;
        }
Adilson Rumao

Adilson Rumao

Responder

Posts

02/10/2012

Alisson Santos

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.

private void button1_Click(object sender, EventArgs e)
        {
            if (panel1.Visible == false)

                panel1.Visible = true;
            else
                panel1.Visible = false;
        }


Responder

02/10/2012

Alisson Santos

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.

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.

Responder

02/10/2012

Washington Morais

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
Responder

02/10/2012

Cristiano Santos

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
Responder

02/10/2012

Adilson Rumao

Então estou usando assim?
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.
Responder

02/10/2012

Adilson Rumao

Então estou usando assim?
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.
Responder

02/10/2012

Adilson Rumao

Então galera desculpe, estou usando C# for Windows Forms.
Responder

02/10/2012

Washington Morais

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
Responder

02/10/2012

Washington Morais

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
Responder

02/10/2012

Adilson Rumao

Já está com Top/Left

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.
Responder

02/10/2012

Adilson Rumao

Nossa que burrice ehm..
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);
            }
        }
Responder

02/10/2012

Washington Morais

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
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar