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原点并且增加x并y朝向右下角PointToScreen返回"屏幕"坐标 - 但似乎相对于总桌面区域; Cursor.Position返回一个类似的值如果您想了解有关客户端屏幕配置的更多信息,请查看ScreenMSDN上的课程.有些兴趣也可能是AllScreens属性,它为您提供完整设置的详细信息.
编辑:
好的 - 一个(简单的)概述;-)我也可以懒惰!
