2010-09-10 3 views
6

Я пытаюсь распутать все свойства позиции и размера winforms, и было бы очень полезно, если бы был исчерпывающий обзор, объясняющий отношения между ними. Многие из них кажутся функционально эквивалентными, но я обеспокоен тем, что могу сделать некоторые ложные предположения.свойства и свойства измерения winforms

Для справки, я имею в виду свойства, такие как Screen.PrimaryScreen.Bounds vs Form.DesktopBounds; Form.ClientRectangle vs Form.DisplayRectangle; Form.left vs Form.Location.X; PointToScreen vs Cursor.Position и т. Д. Меня также особенно интересует влияние нескольких мониторов на свойства позиции.

Если кто-нибудь знает о аннотированной диаграмме, в которой все это делается, это было бы здорово.

ответ

17

В качестве частичного ответа, описывающие те свойства, которые вы перечислите выше:

  • Screen.PrimaryScreen.Bounds дает размеры для основного монитора. На настройке с несколькими мониторами, в зависимости от того, какой экран установлен как первичный.
  • Form.DesktopBounds дает вам комбинированную границу для всего «рабочего стола», который представляет собой виртуальный холст, охватывающий все активные мониторы.
  • Form.ClientRectangle обеспечивает область (Rect) клиентской области формы (пространство внутри хром)
  • Form.DisplayRectangle похож на Form.ClientRectangle, но включает в себя хром (строку заголовка и рамку вокруг формы)
  • Form.Location.X и Form.Left (также относится к вершине и Y), используя верхний левый как 0,0, и увеличивая x и y вправо
  • PointToScreen возвращает координату экрана, но, по-видимому, относится к общей величине область рабочего стола; Cursor.Position возвращает сходное значение

Если вы хотели бы узнать больше о конфигурации экрана на клиенте, а затем проверить Screen class on MSDN. Некоторым интересом может быть и свойство AllScreens, которое дает вам подробную информацию о полной настройке.

Edit:

Ok - (простой) обзор ;-) Я могу быть ленивым тоже!

Simple Overview of Position Properties

+1

@AJ - спасибо, но только уточнить, я не искал отдельные объяснения. Как ленивый, как я могу быть, я пошел MSDN spelunking. То, что я действительно надеялся на общий обзор, связал их все вместе - желательно аннотированную диаграмму. – CtrlDot

+1

@ AJ - чувак, ты рок! – CtrlDot

Смежные вопросы