C# Form.DesktopBounds.Width似乎已关闭10个像素。如何确定正确的表格宽度?
访问Form.DesktopBounds.Width属性时,它似乎关闭了10个像素。窗口边框的每侧似乎也有5个像素。如何确定正确的表单宽度,包括表单周围的边框。根据,如果要获取控件(包括其非客户端元素)的大小和位置,只需使用C# Form.DesktopBounds.Width似乎已关闭10个像素。如何确定正确的表格宽度?,c#,winforms,C#,Winforms,访问Form.DesktopBounds.Width属性时,它似乎关闭了10个像素。窗口边框的每侧似乎也有5个像素。如何确定正确的表单宽度,包括表单周围的边框。根据,如果要获取控件(包括其非客户端元素)的大小和位置,只需使用form.Bounds。对于宽度,这将是Form.Bounds.width 我相信我对格式.宽度的评论建议也会起作用,因为顶部,左侧,宽度和高度都来自边界本身。我刚刚遇到了这个问题 我从Form.Height和Form.Bounds.Height中获得“off by 10”的
form.Bounds
。对于宽度,这将是Form.Bounds.width
我相信我对
格式.宽度的评论建议也会起作用,因为顶部,左侧,宽度和高度都来自边界本身。我刚刚遇到了这个问题
我从Form.Height
和Form.Bounds.Height
中获得“off by 10”的数字。高度值在Windows XP上是正确的,但在Windows 7上关闭10。(Width
值也处于禁用状态。)
当FormBorderStyle
是Sizeable
时,则值是正确的。但是当它是FixedToolWindow
时,我会得到10倍的值。使用Form.Width
是否会得到不同的结果?如果可以将其设置为6像素而不是10像素,那么有一个解释。表单的FormBorderStyle
属性的值是多少?这取决于窗口边框样式。这取决于在窗口边框样式上。如果窗口的边框为“无”,则边框与窗口大小相同。但是使用默认的固定单边框样式,实际上边框比右侧、左侧和底部的显示区域大5个像素。我认为,这些像素中的一个是薄的蓝色边框。其他4个是透明区域。如果这样的表单显示在桌面上,您可以通过单击表单右侧附近的桌面来选择它。这似乎是一个奇怪的设计选择,但对微软来说并不罕见。