C# Chrome和其他应用程序如何覆盖默认的windows窗体边框?
有一些程序,如Google Chrome和以下程序:C# Chrome和其他应用程序如何覆盖默认的windows窗体边框?,c#,windows,winforms,C#,Windows,Winforms,有一些程序,如Google Chrome和以下程序: 它们的windows窗体边框与默认边框不同。这些程序如何做到这一点,并且仍然允许用户拖动窗口?在C#中是否可能?有很多组件套件(DevExpress、Infrastics、Telerik等)可以这样做,但您也可以自己做。但是要准备脏了——真的脏了 基本上,您必须捕获windows消息(是的,本机!)并正确处理它们。在本章中,使表单可拖动是最简单的事情(您只需告诉windows鼠标位于标题栏区域上,即使它不是>>) 让我回到画上来:别这样 有很
它们的windows窗体边框与默认边框不同。这些程序如何做到这一点,并且仍然允许用户拖动窗口?在C#中是否可能?有很多组件套件(DevExpress、Infrastics、Telerik等)可以这样做,但您也可以自己做。但是要准备脏了——真的脏了 基本上,您必须捕获windows消息(是的,本机!)并正确处理它们。在本章中,使表单可拖动是最简单的事情(您只需告诉windows鼠标位于标题栏区域上,即使它不是>>) 让我回到画上来:别这样强> 有很多事情要处理
- 您的表单是否处于最大化、最小化、正常状态
- 哪些按钮(最小/最大/关闭)已启用
- 它是一个工具窗口还是一个相当大的窗口
- 有一个新的吗
- 这个表格大吗?如果是这样的话,你也得画边界
ClientSize
相同
请考虑使用DEVExcel或任何其他工具包。说到DevExpress,我知道他们有一套非常棒的控件,而且我非常确定XtraForm(它可以绘制所有标题栏)也包括在内
拯救你生命中的大部分,跳过这一章
(但是,如果你足够勇敢,无论如何都要检查一下。)有很多组件套件(DevExpress、Infrastics、Telerik等)都在这样做,但你也可以自己做。但是要准备脏了——真的脏了 基本上,您必须捕获windows消息(是的,本机!)并正确处理它们。在本章中,使表单可拖动是最简单的事情(您只需告诉windows鼠标位于标题栏区域上,即使它不是>>) 让我回到画上来:别这样强> 有很多事情要处理
- 您的表单是否处于最大化、最小化、正常状态
- 哪些按钮(最小/最大/关闭)已启用
- 它是一个工具窗口还是一个相当大的窗口
- 有一个新的吗
- 这个表格大吗?如果是这样的话,你也得画边界
ClientSize
相同
请考虑使用DEVExcel或任何其他工具包。说到DevExpress,我知道他们有一套非常棒的控件,而且我非常确定XtraForm(它可以绘制所有标题栏)也包括在内
拯救你生命中的大部分,跳过这一章
(不过,如果你够勇敢的话,还是检查一下吧)。我认为这两个都不是Windows窗体应用程序。在C#中可能吗?-当然,为什么不呢?查看WM_NCPAINT和相关信息,了解它是如何在引擎盖下完成的。-WPF可能对此有专门的支持;Windows窗体没有,你必须用传统的方式来做这个SO链接指的是像office一样的蒙皮,但如果你想让它看起来像其他东西,则使用相同的技术。你检查过这些SO问题吗,我认为这两个都不是Windows窗体应用程序。在C#中可能吗当然,为什么不呢?查看WM_NCPAINT和相关信息,了解它是如何在引擎盖下完成的。-WPF可能对此有专门的支持;Windows窗体没有,你必须用传统的方式来做这个SO链接指的是像office一样的蒙皮,但如果你想让它看起来像其他东西,则使用相同的技术。你检查过这些SO问题吗,