如何重新着色 Windows 窗体的标题栏 C#

How to recolor Windows Form's title bar C#

我只想为应用程序的 windows 表单标题栏重新着色,我在网上找到了这段代码

  [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);
            }

        }
    }

但是我不知道怎么触发,你能帮我吗?

我所做的是将 FormBorderStyle 属性 设置为 None,然后我使用 flowLayoutPanel 作为我的标题栏,设置鼠标事件并添加 minimize/close 按钮。