¿Cómo obtener un objeto Color a partir de un hexadecimal en C# .Net?

Para obtener un objeto Color con los valores adecuados a partir de un valor hexadecimal, lo podemos hacer haciendo uso de la clase ColorTranslator la cual sirve para este propósito y lo podemos hacer de la siguiente manera:


//color blanco
Color oColor1= System.Drawing.ColorTranslator.FromHtml("#ffffff"); 

//color negro
Color oColor2= System.Drawing.ColorTranslator.FromHtml("#000000"); 

¿Cómo cambiar el color de fondo de un Formulario que es contenedor de formularios secundarios MDI? C# .Net

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
        }
}