.NET隐藏标题栏但保留边框

Jon*_*ohl 6 .net c# vb.net winforms

我想知道如何隐藏表单的标题栏但保留原始边框,例如Dropbox: 截图

提前致谢!

Jcl*_*Jcl 7

设置FormBorderStyleFormBorderStyle.SizableFormBorderStyle.SizableToolWindow设置Text为空字符串,然后设置ControlBoxfalse

请注意,这FixedToolWindow将无法正常工作,它将删除边框.如果您不希望它变得相当大,请使用SizableToolWindow并将其添加到表单的代码隐藏中(添加两种语言,因为您没有指定并用两者标记问题):

在vb.net中:

Protected Overrides Sub WndProc(ByRef message As Message)               
    If message.Msg = &H84 Then ' WM_NCHITTEST
        message.Result = CType(1, IntPtr)
        Return
    End If    
    MyBase.WndProc(message)
End Sub
Run Code Online (Sandbox Code Playgroud)

在C#中:

protected override void WndProc(ref Message message)
{
    if (message.Msg == 0x0084) // WM_NCHITTEST
        message.Result = (IntPtr)1;   
    else base.WndProc(ref message);
}
Run Code Online (Sandbox Code Playgroud)