es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo cambiar el color de la barra de título de un formulario de Windows en C#

Quiero cambiar el color solo de la barra de título del formulario de mi aplicación, encontré este código en línea:

  [DllImport("user32.dll")]
    static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);

    [DllImport("User32.dll")]
    private static extern IntPtr GetWindowDC(IntPtr hWnd);

    protected override void WndProc(ref System.Windows.Forms.Message m)
    {
     const int WM_NCPAINT = 0x85;
     base.WndProc(ref m);

        if (m.Msg == WM_NCPAINT)
        {

            IntPtr hdc = GetWindowDC(m.HWnd);
            if ((int)hdc != 0)
            {
                Graphics g = Graphics.FromHdc(hdc);
                g.FillRectangle(Brushes.Green, 10, 0, 4800, 23);
                g.Flush();
                ReleaseDC(m.HWnd, hdc);
            }

        }
    }

Pero no sé cómo activarlo, ¿Podrías ayudarme?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para activar el código para cambiar el color de la barra de título del Windows Form de tu aplicación, debes agregar el método WndProc al código de tu formulario y asegurarte de llamar a su método base para que el mensaje aún pueda ser procesado por otros controladores. El código se ejecutará automáticamente cuando se cree o se redimensione el formulario.

Comments are closed.