【问题标题】:Drawing a toolbar on a window's titlebar在窗口的标题栏上绘制工具栏
【发布时间】:2026-01-01 23:25:01
【问题描述】:

如何在 windows vista 中的 C# winforms 窗口的标题栏上绘制工具栏?我有一个可以工作的窗口,除非窗口未最小化/未最大化,它的大小增加了大约 16x32px。如果可能,请提供代码示例。

【问题讨论】:

    标签: c# winforms windows-vista titlebar


    【解决方案1】:

    有效地做到这一点的唯一方法是在您覆盖 Form 的 WndProc 方法时处理 WM_NCPAINT 消息。

    传递给 WndProc 的基本实现将导致绘制窗口框架,但此时,您将负责在标题栏上绘制工具栏元素。

    您还需要处理所有其他 WM_NC* 消息,这将允许您处理按钮单击等(您需要处理绘制控件的事件)。

    【讨论】:

      【解决方案2】:

      我一直在寻找同样的问题,因为我想编写一个带有左上角那个大按钮的功能区栏...我找到的唯一好来源是 CodeProject罢工>this blogthis oneanother one

      【讨论】:

      最近更新 更多