gpt4 book ai didi

C# Winforms | C#表格边框厚度

转载 作者:行者123 更新时间:2023-12-02 02:06:15 25 4
gpt4 key购买 nike

是否有任何文档说明常规表单的边框有多厚?

目标:
我创建了一个宽度为 800px 的 userControl。我想以全分辨率(800px - 一切可见)弹出一个弹出窗口(一般为正常形式),并带有一个新实例。

我的问题:将表单设置为 Form.Size.Width = 800 不会这样做。看起来表单的边框包含在表单的宽度属性中。我需要减去该边框。

我应该是这样的: 2px + 800px + 2px

如果您想查看一些代码,请告诉我,但我认为这里没有必要。

编辑:

enter image description here

弹出控件后:

enter image description here

弹出代码:

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 我的按钮没有专业地放置在布局内。但除此之外,还必须有一个解决方案来设置正确的大小

最佳答案

看来您正在寻找

int thickness = SystemInformation.Border3DSize;

另一种(而且,INHO,更好的一种)可能性是使用控件的ClientRectangle。例如:

// Client rectangle in screen coordinates
Rectangle rc = MyControl.RectangleToScreen(MyControl.ClientRectangle);

// Let's align context menu (its width) to bottom of the control
MyContextMenuStrip.AutoSize = false;
// Depending on actual dropdown control you may want align either via
// Width = rc.Width;
// Or
// ClientSize = new Size(rc.Width, someHeight);
MyContextMenuStrip.Width = rc.Width;

// Let's show context menu at the bottom of the control
MyContextMenuStrip.Show(new Point(rc.Left, rc.Bottom));

关于C# Winforms | C#表格边框厚度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32112729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com