在 Windows 7 中,音量混合器窗口具有特定的样式,带有厚而透明的边框,但没有标题栏。我如何在 winforms 窗口中重新创建该窗口样式?
我尝试将 Text 设置为 string.Empty,并将 ControlBox 设置为 false,这会删除标题栏,但随后边框也会消失:
最佳答案
form.Text = string.Empty;
form.ControlBox = false;
form.FormBorderStyle = FormBorderStyle.SizableToolWindow;
对于固定大小的窗口,您仍应使用 FormBorderStyle.SizableToolWindow
,但您可以覆盖窗体的 WndProc
以忽略非客户端 HitTest (用于切换到尺寸游标):
protected override void WndProc(ref Message message)
{
const int WM_NCHITTEST = 0x0084;
if (message.Msg == WM_NCHITTEST)
return;
base.WndProc(ref message);
}
如果你想真正强制尺寸,你也可以在表单上设置 MinimumSize
等于 MaximumSize
。
关于c# - 如何创建一个有边框但没有标题栏的表单? (如 Windows 7 上的音量控制),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3594086/