gpt4 book ai didi

c# - Windows 窗体的大小是否包括其边框?

转载 作者:行者123 更新时间:2023-11-30 19:42:42 26 4
gpt4 key购买 nike

当你设置窗口窗体的大小时,ie;

Form1.Size = new System.Drawing.Size(700, 500);

这是否包括窗口放置在窗体周围的边框?因为我在表单中添加了 700x500 的图片(通过 pictureBoxes),它们被边框截断了。

另外:当我说边框时,我指的是默认的窗口边框,您可以拖动它的边缘来调整它的大小,还包含红色的 X、最小化和最大化按钮。

最佳答案

这取决于,例如,当您以 .NET 4.5 为目标时,您将获得不同的大小。边框始终包含在内,但您真的不知道包含了多少边框。 Aero 中的宽边框和 XP 中的细边框存在问题。

几乎总是做错事。您总是想分配 ClientSize 属性。重要的是,它不包括边框,因此您可以确保控件仍然合适。

并且硬编码大小也总是错误的。您的表单将重新缩放,具体取决于视频适配器的每英寸点数设置。 DPI 设置越大,表单就需要越大以适应其内容。所以正确的说法应该是这样的:

  this.ClientSize = new Size(PictureBox3.Right, PictureBox3.Bottom);

假设“PictureBox3”是您希望保持可见的最右下角的控件。此语句需要出现在 Load 事件处理程序中以确保重新缩放已完成,它不能在构造函数中工作。使用 Load 事件的极少数充分理由之一。

关于c# - Windows 窗体的大小是否包括其边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17000314/

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