自己的窗体边框样式

我一直认为使用像iTunes或Visual Studio 2012这样的程序的窗体边框没有边框样式和button,因为closuresbutton被绘制为图像。

Visual Studio 2012Musicjet

但是,一旦我的Visual Studio没有响应,并将边框改为基本的Windows边框。

视窗

我怎样才能获得自己的forms边界? 在C#中可能吗?

您正在看到“窗口窗口”,Windows窗口管理器创建的窗口来替换死锁窗口。 您在标题栏中看到“不响应”。 那个窗口当然不会有相同的自定义样式,Windows没有办法正确地做到这一点。

您可以使用Spy ++实用程序来查看另一个应用程序的窗口属性。 实际上,VS2012使用标题栏的常规窗口样式。 他们如何定制它是一个保存完好的秘密,我怀疑他们拦截WM_NCPAINT,这是一个相当困难的信息来实现自己。 使用无边界窗口肯定更容易。

在@Hans的帖子后面:

使用WPF,你可以将windowstyle设置为none:

<Window WindowStyle="None"> 

然后你可以实现你自己的按钮。