如何在.NET Windows窗体的标题栏上创建自定义上下文菜单?

时间:2010-05-19 05:02:35

标签: winforms

如何在Windows XP及以上版本的Windows标题栏(如Opera 10或Firefox 4)中创建自定义上下文菜单?

https://wiki.mozilla.org/images/e/e8/Firefox-4-Mockup-i05-(XP)-(Royale)-(TabsTop)-(Default).png

提前致谢, 约什

1 个答案:

答案 0 :(得分:3)

它涉及通过Win32互操作处理non-client area绘图,这需要对Windows窗口系统的工作原理有一定的了解。幸运的是,这是网络上经常出现的一个问题,包括SO。例如,你可以在this answer(我前面很方便地发布:-))中阅读一些需要完成的细节,并且同一问题的接受答案链接到如何使用它的教程的WinForms。

旁注:整个“我想在标题栏中绘制内容”这是一个有趣的技术问题,解决它肯定会导致更好,更深入地了解Windows的工作原理。但是,实际上将其作为一项功能添加到业务应用程序中需要付出很多努力才能正确设计和实现,并且只有在有严重的用户体验好处时才应该这样做 - 我认为这种情况很少发生。