Подтвердить что ты не робот

Изменение цвета строки заголовка в WinForm

Можно ли изменить цвет строки заголовка WinForm в С#?

          __________________________
         [Form1_______________-|[]|X] <- I want to change the color of this
         |                          |
         |                          |
         |                          |
         |__________________________|
4b9b3361

Ответ 1

Я решил эту проблему. Это код:

[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);

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

protected override void WndProc(ref Message m)
{
    base.WndProc(ref m);
    const int WM_NCPAINT = 0x85;
    if (m.Msg == WM_NCPAINT)
    {
        IntPtr hdc = GetWindowDC(m.HWnd);
        if ((int)hdc != 0)
        {
            Graphics g = Graphics.FromHdc(hdc);
            g.FillRectangle(Brushes.Green, new Rectangle(0, 0, 4800, 23));
            g.Flush();
            ReleaseDC(m.HWnd, hdc);
        }
    }
}

Ответ 3

Что вы можете сделать, это установить свойство FormBorderStyle в None и делать то, что вам нужно, с помощью формы с помощью GDI.

Ответ 4

Это легко сделать:

  • Щелкните правой кнопкой мыши на рабочем столе и выберите "Персонализировать".

  • Нажмите на кнопку "Цвет окна" в нижней части экрана.

  • Выберите новый цвет.

    Если ваш компьютер настроен на использование темы Aero, вы можете выбрать один из стандартных цветов или выбрать один из своих.

    Если вы используете тему Classic, вы увидите диалоговое окно "Цвет окна и внешний вид", которое вы можете использовать для установки цветов. Нажмите на панель заголовка образец рабочего стола, тот, который называется "Активное окно", а затем выберите раскрывающиеся окна "Цвет 1" и "Цвет 2", чтобы выбрать новый цвет.

Я могу только предположить, что это то, что вы имели в виду, потому что абсолютно нет оправдания, чтобы изменить только цвет строки заголовка вашего приложения. Там есть причина, что это общесистемная настройка.

Всегда выполняйте пользовательские настройки. Если бы они хотели, чтобы ваш заголовок был другого цвета, они выбрали бы другой цвет.