删除标题栏,同时保留边框

Ben*_*nni 5 .net c# winforms

我想创建一个没有标题栏的表单,同时保留边框,这样我仍然可以调整大小并捕捉它。设置FormBorderStyleNone可以,但它会破坏边界。

在 Google 搜索了一下后,我多次遇到一种方法,也在这里:设置ControlBoxFalse以及Text空字符串似乎在旧版本的 Windows 上有效,在 Windows 10 上,但它看起来像这样:

标题栏的其余部分很丑

请注意顶部丑陋的栏,我想将其删除。我发现的所有其他解决方案 - 例如覆盖 WndProc - 要么根本不起作用,要么也删除了边框。

编辑:白色栏位于非客户区域,它是删除窗口按钮和标题文本后标题栏剩下的内容。

小智 -1

将 BorderStyle 设置为 bsNone

然后在表单的 OnActivate 过程中添加以下行

 Canvas.Pen.Color:=clWindowFrame;
 
 Canvas.Rectangle(0,0,Width-2,Height-2)
Run Code Online (Sandbox Code Playgroud)