winforms位置和尺寸属性

Ctr*_*Dot 6 .net positioning winforms

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

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

如果有人知道一个注释图表,这将是全部,这将是很棒的.

AJ.*_*AJ. 17

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

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

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

编辑:

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

简单的位置属性概述