2010-09-10 2 views
6

Ich versuche, alle Position und Dimension Eigenschaften von winforms zu entwirren, und es wäre wirklich hilfreich, wenn es eine umfassende Übersicht über die Beziehungen zwischen ihnen geben würde. Viele von ihnen scheinen funktional gleichwertig zu sein, aber ich bin besorgt, dass ich einige falsche Annahmen machen könnte.WinForms Position und Dimension Eigenschaften

Als Referenz verwende ich Eigenschaften wie Screen.PrimaryScreen.Bounds vs Form.DesktopBounds; Form.ClientRectangle vs Form.DisplayRectangle; Form.left vs Form.Location.X; PointToScreen vs Cursor.Position und so weiter. Ich bin auch besonders an der Wirkung mehrerer Monitore auf die Positionseigenschaften interessiert.

Wenn jemand von einem annotierten Diagramm weiß, das das alles ausgibt, wäre das großartig.

Antwort

17

Als Teilantwort, beschreiben diese Eigenschaften aufzulisten, die Sie oben:

  • Screen.PrimaryScreen.Bounds Sie die Abmessungen für den Hauptmonitor gibt. Bei einem Setup mit mehreren Monitoren ist der jeweils primäre Bildschirm ausgewählt.
  • Form.DesktopBounds gibt Ihnen die kombinierte Grenze für den gesamten "Desktop", der eine virtuelle Leinwand über alle aktiven Monitore ist.
  • Form.ClientRectangle stellt den Bereich (rect) des Client-Bereich der Form (der Raum innerhalb des Chrom)
  • Form.DisplayRectangle zu Form.ClientRectangle ähnlich ist, jedoch enthält die Chrom (Titelleiste und der Rahmen um Form)
  • Form.Location.X und Form.Left sind effektiv die gleiche Sache (gilt auch für oben und Y) mit oben links als 0,0 Herkunft und zunehmende x und y in Richtung der unteren rechten
  • PointToScreen gibt die "Bildschirm" -Koordinaten - aber scheint relativ zu der Gesamtzahl Desktop-Bereich; Cursor.Position liefert einen ähnlichen Wert

Wenn Sie wollen mehr über die Bildschirmkonfiguration auf dem Client lernen, dann die Screen class on MSDN überprüfen. Von Interesse könnte auch die AllScreens-Eigenschaft sein, die Ihnen Details zum vollständigen Setup gibt.

bearbeiten:

Ok - ein (einfacher) Überblick ;-) Ich kann zu faul sein!

Simple Overview of Position Properties

+1

@AJ - danke, aber nur um zu klären, ich nicht für einzelne Erklärungen suchen. So faul wie ich sein könnte, ich ging MSDN Spelunking. Was ich wirklich auf einen Überblick gehofft hatte, der sie alle zusammenhielt - am besten ein kommentiertes Diagramm. – CtrlDot

+1

@AJ - Alter, du rockst! – CtrlDot