none
Background Image em um Form MdiParent RRS feed

  • Pergunta

  • Boa tarde pessoal.

    Gostaria de saber se há alguma forma de colocar uma imagem no fundo de um Mdi Parent (manter a existente) quando há algum mdi child aberto... Porque quando um formulário child é aberto, parece que ele fica atrás da imagem... se alguém souber de algo agradeço...

    Abraço a todos.
    quinta-feira, 21 de janeiro de 2010 15:46

Todas as Respostas

  • Achei em um fórum duas opções.

    • Set Background image and change the BackgroundImageLayout property to Stretch (as suggested by Guster_Q )
    • Set your image in a imagecontrol and set it docking property to fill

    Caso não funcionar isto, tem um projeto no Code Project que faz isso.

    http://www.codeproject.com/KB/cs/mdiclientrevisited.aspx
    • Sugerido como Resposta Danimar Ribeiro terça-feira, 26 de janeiro de 2010 01:18
    sexta-feira, 22 de janeiro de 2010 11:42
  • olá meu caro tbm passei por esse msmo problema a um tempo atrás e sei como é complikdo essa situação, mas com muita busca consegui resolver meu problema. voce tem q fazer o seguinte:
    Primeiro nas PROPRIEDADES DO FORMS PAI voce tem q mudar a propriedade de IsMDIContainer se não me engano q fica perto da propriedade para alterar icone de sua aplicação para true, depois de feito isto va na PROPRIEDADE DE BACKGROUND do msmo e escolha sua imagem e mude a sua forma de exebição de  TITLE para CENTER;
    feito isto vamos faze-la aparecer como fundo de nosso mdi.
    Como primeiro passo click duas vezes no seu form pai para q ele abra uma linha de código do evento load do seu formulário fikando +- assim:

    private void FormPai_Load(object sender, EventArgs e)
    {
              //EVENTO LOAD DO FORMS     

    }

    //Agora dentro desse evento faremos duas coisas primeiro mudamos a cor de fundo do nosso forms da seguinte maneira

    private void FormPai_Load(object sender, EventArgs e)
    {
              
              MdiClient ctlMDI = (MdiClient)this.Controls[this.Controls.Count - 1];
              ctlMDI.BackColor = Color.White;
              //ISSO MUDA COR DE FUNDO DO FORM MDI PAI PARA BRANCO
    }

    //Agora colocamos a imagem de fundo em nosso MDI.
    //Lembra quando pedi acima para escolher uma backgroundimage pelo forms pai então aqui a usamos agora do seguinte gto

    private void FormPai_Load(object sender, EventArgs e)
    {
              
              MdiClient ctlMDI = (MdiClient)this.Controls[this.Controls.Count - 1];
              ctlMDI.BackColor = Color.White;
              //ISSO MUDA COR DE FUNDO DO FORM MDI PAI PARA BRANCO
              ctlMDI.BackgroundImage = this.BackgroundImage;
              //AQUI COLOCAMOS A IMAGEM DE FUNDO
              //ONDE DIZEMOS Q A IMAGEM DE FUNDO DO NOSSO MDICLIENTE Q É O NÍVEL MAIS BAIXO DOS MDIs
             //É IGUAL A IMAGEM DE FUNDO DO FORMS PAI ASSUMINDO TODAS AS SUAS CONFIGURAÇÕES COMO SUA POSIÇÃO CENTRALIZADA NA TELA
    }

    //uma obs muito importante eu uso a imagem no modo centralizado pois se uso estendida encontro um grave problema na minha aplicação a imagem fik piscando ao fundo   //cada vez q passo o mouse e ainda não descobri se é meu pc ou VS q ta dando ____ ou é o código mas com a propriedade de layout da imagem regulada como center
    //ela roda bunitinhu

    //QUALQUER DUVIDA ME PROCURA AI NO FORUM Q TE DO UMA MÃO BLE
    //e se te ajudar vota ai como resposta e como util blz vlw dsculpa não poder ajudar mais flw abrass

    segunda-feira, 25 de janeiro de 2010 15:03