none
Mudar a Cor do MDI Container MDI Pai RRS feed

  • Pergunta

  • Bom dia estou querendo mudar aquela cor padrão cinza do MDI container, ao pesquisar encontrei sempre a mesma solução que é essa:

     // #1
        foreach (Control control in this.Controls)
        {
            // #2
            MdiClient client = control as MdiClient;
            if (!(client == null))
            {
            	// #3
            	client.BackColor = Sua_cor;
            	// 4#
            	break;
            }
        }

    em que eles falavam simplesmente para colar dentro do Evento Load do MDI Pai, porém ao simplesmente colar acontece erro no Control do foreach, ao Comparar com meu código percebi que aparentemente esse Control é uma Classe, gostaria de saber se é de alguma biblioteca especifica, ou até mesmo se existe algum erro no código acima.

    segunda-feira, 22 de agosto de 2016 12:32

Respostas

  • Olá!

    Testando aqui funcionou de boa.. Qual é exatamente o erro que você está recebendo? Talvez esteja faltando algum "using" no seu formulário.. Tente colocar os namespaces completos nas declarações das variáveis:

                foreach (System.Windows.Forms.Control control in this.Controls)
                {
                    var client = control as System.Windows.Forms.MdiClient;
                    if (client != null)
                    {
                        client.BackColor = System.Drawing.Color.DarkGreen;
                        break;
                    }
                }
    

    Abraço!


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    • Marcado como Resposta JhuWetDog segunda-feira, 22 de agosto de 2016 13:07
    segunda-feira, 22 de agosto de 2016 12:46
    Moderador

Todas as Respostas

  • Olá!

    Testando aqui funcionou de boa.. Qual é exatamente o erro que você está recebendo? Talvez esteja faltando algum "using" no seu formulário.. Tente colocar os namespaces completos nas declarações das variáveis:

                foreach (System.Windows.Forms.Control control in this.Controls)
                {
                    var client = control as System.Windows.Forms.MdiClient;
                    if (client != null)
                    {
                        client.BackColor = System.Drawing.Color.DarkGreen;
                        break;
                    }
                }
    

    Abraço!


    André Alves de Lima
    Microsoft MVP - Client App Dev
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    • Marcado como Resposta JhuWetDog segunda-feira, 22 de agosto de 2016 13:07
    segunda-feira, 22 de agosto de 2016 12:46
    Moderador
  • Obrigado!!! Funcionou...

    Segue Listas das using's

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.Configuration;
    using System.IO;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;


    • Editado JhuWetDog segunda-feira, 22 de agosto de 2016 13:10 corrigir frase
    segunda-feira, 22 de agosto de 2016 13:06