答案 0 :(得分:6)
将FormBorderStyle
设置为FormBorderStyle.Sizable
或FormBorderStyle.SizableToolWindow
并将Text
设置为空字符串,将ControlBox
设置为false
请注意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
在C#中:
protected override void WndProc(ref Message message)
{
if (message.Msg == 0x0084) // WM_NCHITTEST
message.Result = (IntPtr)1;
else base.WndProc(ref message);
}
答案 1 :(得分:0)
这是一种简单的方法:
this.ControlBox = false;
this.Text = string.Empty;
如果将窗体设计为弹出对话框,则可能需要添加以下行:
this.ShowInTaskBar = false;
这可以使表单不显示在任务栏中。
答案 2 :(得分:-2)
// 3rd option (C#)
protected override CreateParams CreateParams
{
get
{
int WS_DLGFRAME = 0x400000;
CreateParams result = base.CreateParams;
result.Style &= ~WS_DLGFRAME;
return result;
}
}