有关常规表单边框有多厚的文档吗?
目标:
我创建了一个宽度为800px的用户控件。我想要在全分辨率 (800px - 所有可见) 的情况下,使用新实例引发一个弹出 (通常是普通窗体)。
问题:
将窗体设置为Form.Size.Width = 800
无法完成任务。这看起来像窗体的边框已经包含在窗体的宽度属性中了。我需要减去边框的宽度。
应该是: 2px + 800px + 2px
如果您想看一些代码,请告诉我,但我认为在这里不必要。
编辑:
弹出控件后:
弹出窗口代码:
private void buttonPopup_Click(object sender, EventArgs e)
{
Form MyPopup = new Form();
customControl MyUserControl = new customControl();
MyUserControl.Dock = DockStyle.Fill;
Rectangle rc = MyUserControl.RectangleToScreen(MyUserControl.ClientRectangle);
//int thickness = SystemInformation.Border3DSize.Width;
//MyPopup.MaximumSize = new Size(MyUserControl.Size.Width + (thickness*2), 1500);
MyPopup.Controls.Add(MyUserControl);
MyPopup.MaximumSize = new Size(rc.Width, rc.Height);
MyPopup.Show();
}
我觉得你的代码看起来很合理。但是结果还是一样的。 userControl
显示的略小一些。我知道我在不专业地放置按钮时使用了 dock = fill
。但是除此之外,必须有一个解决方案来 设置正确的大小。
SystemInformation
类和ClientRectangle
属性。 - Dmitry BychenkoClientSize
(窗体大小不包括边框、标题等)。使用MyPopUp.ClientSize = new Size(...);
而不是MaximumSize
。 - Dmitry Bychenko