winforms位置和尺寸属性

时间:2010-09-10 12:49:53

标签: .net winforms positioning

我正在尝试解开winforms的所有位置和维度属性,如果有一个全面的概述来解释它们之间的关系,那将非常有用。其中许多似乎在功能上等同,但我担心我可能会做出一些错误的假设。

作为参考,我指的是Screen.PrimaryScreen.Bounds和Form.DesktopBounds等属性; Form.ClientRectangle与Form.DisplayRectangle; Form.left vs Form.Location.X; PointToScreen与Cursor.Position等等。我也对多个显示器对位置属性的影响特别感兴趣。

如果有人知道注释的图表,那将是非常棒的。

1 个答案:

答案 0 :(得分:17)

作为部分答案,描述您在上面列出的属性:

  • Screen.PrimaryScreen.Bounds为您提供主监视器的尺寸。在多显示器设置中,无论哪个屏幕设置为主屏幕。
  • Form.DesktopBounds为您提供整个“桌面”的组合边界,这是一个跨越所有活动监视器的虚拟画布。
  • Form.ClientRectangle提供表单客户区的区域(rect)(chrome中的空格)
  • Form.DisplayRectangleForm.ClientRectangle类似,但包含chrome(标题栏和表单边框)
  • Form.Location.XForm.Left实际上是相同的(也适用于顶部和Y),使用左上角作为0,0原点并增加xy朝向右下角
  • PointToScreen返回“屏幕”坐标 - 但似乎与总桌面区域相关; Cursor.Position返回类似的值

如果您想了解有关客户端屏幕配置的更多信息,请查看Screen class on MSDN。有些兴趣也可能是AllScreens属性,它为您提供有关完整设置的详细信息。

修改

好的 - 一个(简单的)概述;-)我也可以懒惰!

Simple Overview of Position Properties