Inquiridor
Background Image em um Form MdiParent

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.
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
-
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- Sugerido como Resposta Edney Batista Silva segunda-feira, 2 de agosto de 2010 03:58