【问题标题】:winforms position and dimension propertieswinforms位置和尺寸属性
【发布时间】:2010-09-10 21:51:46
【问题描述】:

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

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

如果有人知道一个带注释的图表来说明这一切,那就太棒了。

【问题讨论】:

    标签: .net winforms positioning


    【解决方案1】:

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

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

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

    编辑

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

    【讨论】:

    • @AJ - 谢谢,但只是为了澄清我不是在寻找个人解释。尽管我可能很懒惰,但我确实去了 MSDN 探索。我真正希望将它们联系在一起的概述 - 最好是带注释的图表。
    猜你喜欢
    • 1970-01-01
    • 2010-11-08
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多