Cambiar el fondo de un formulario MDI

¿Cómo puedo cambiar el color de ANTECEDENTES del FORMATO MDI en C #?

Lo cambié usando la propiedad de color de fondo pero el color no se cambia.

¿Qué debo hacer para realizar esta tarea?

El color de fondo real del control MDI se basa en el color del tema actual de Windows. Debe configurar físicamente el fondo del control MdiClient dentro de WinForm.

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

Editar – Comentarios agregados:

  1. Necesitamos recorrer los controles en el formulario MdiParent para encontrar el control MdiClient que se agrega cuando configura el formulario como un MdiParent. Foreach es solo una simple iteración de un tipo a través de una colección.

  2. Necesitamos encontrar el control MdiClient dentro del formulario, por lo tanto, para hacerlo, emitimos el control actual dentro del bucle usando la palabra clave ‘as’. Usar la palabra clave ‘como’ significa que si la conversión no es válida, la variable que se está configurando será nula. Por lo tanto, comprobamos si ‘cliente’ es nulo. Si es así, el control actual en el bucle no es el control MdiClient. Tan pronto como la variable ‘cliente’ no sea nula, el control que tenemos es el MdiClient y podemos establecer su color de fondo.

  3. Establecer el color de fondo a lo que quieras. Simplemente reemplace “GetYourColour ()” con el color que desee, es decir, Color.White, Color.Blue, Colour.FromArgb (etc.) …

  4. Como solo hay 1 MdiClient, no tiene sentido continuar con el ciclo, ya que es solo una pérdida de tiempo de procesamiento. Por eso llamamos ‘break’ para salir del bucle.

Déjame saber si quieres algo más explicando.

Escriba esto en su método de carga de su formulario MDI.

 Controls.OfType().FirstOrDefault().BackColor = Color.Purple;