[英]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 作为我的标题栏,设置鼠标事件并添加最小化/关闭按钮。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.