Cuando creamos nuestro sistema en Windows form y el formulario principal lo convertimos en MDI, la mayoría de veces queremos cambiar el color gris por defecto a otro, pero nos damos cuenta que al cambiar el color no cambia el gris oscuro del MDI, esto es porque al crear el formulario MDI en realidad se está incorporando otro control de tipo MdiClient.
A continuación te muestro como podemos cambiar el color del MdiCliente:
//Haz esto en el evento Load de tu formulario MDI
MdiClient oMDI;
//recorremos todos los controles hijos del formulario
foreach (Control ctl in this.Controls)
{
try
{
// Intentamos castear el objeto MdiClient
oMDI = (MdiClient)ctl;
// Cuando sea casteado con éxito, podremos cambiar el color así
oMDI.BackColor = Color.White;
}
catch (InvalidCastException exc)
{
// No hacemos nada cuando el control no sea tupo MdiClient
}
}