2010-09-10 3 views
6

J'essaie de démêler toutes les propriétés de position et de dimension des winforms, et il serait vraiment utile s'il y avait un aperçu complet expliquant les relations entre eux. Beaucoup d'entre eux semblent être fonctionnellement équivalents, mais je crains de faire de fausses suppositions. Pour référence, je fais référence à des propriétés telles que Screen.PrimaryScreen.Bounds vs Form.DesktopBounds; Form.ClientRectangle vs Form.DisplayRectangle; Form.left vs Form.Location.X; PointToScreen vs Cursor.Position, et ainsi de suite. Je suis également particulièrement intéressé par l'effet de plusieurs moniteurs sur les propriétés de position.winforms propriétés de position et de dimension

Si quelqu'un connaît un diagramme annoté qui résume tout cela, ce serait génial.

Répondre

17

En tant que réponse partielle, décrivant ces propriétés que vous liste ci-dessus:

  • Screen.PrimaryScreen.Bounds vous donne les dimensions de l'écran principal. Sur une configuration à plusieurs moniteurs, quel que soit l'écran défini comme principal.
  • Form.DesktopBounds vous donne la limite combinée pour l'ensemble du "bureau", qui est un canevas virtuel couvrant tous les moniteurs actifs.
  • Form.ClientRectangle fournit la zone (rect) de la zone client de la forme (l'espace à l'intérieur du chrome)
  • Form.DisplayRectangle est similaire à Form.ClientRectangle mais comprend le chrome (barre de titre et bordure autour de la forme)
  • Form.Location.X et Form.Left sont effectivement la même chose (s'applique également en haut et Y) en utilisant en haut à gauche comme origine et l'augmentation de 0,0 x et y vers le bas à droite
  • PointToScreen renvoie le « écran » coordonnées - mais semble être par rapport au total zone de bureau; Cursor.Position retourne une valeur similaire

Si vous êtes désireux d'en savoir plus sur la configuration de l'écran sur le client, puis consultez le Screen class on MSDN. D'un certain intérêt pourrait également être la propriété AllScreens, qui vous donne des détails sur l'installation complète.

Modifier:

Ok - un (simple) Vue d'ensemble ;-) Je peux être paresseux aussi!

Simple Overview of Position Properties

+1

@AJ - Merci, mais juste pour préciser que je ne cherchais pas des explications individuelles. Aussi fainéant que je peux être, je suis allé faire un spéléo MSDN. Ce que j'espérais vraiment, c'était un aperçu qui les reliait tous - de préférence un diagramme annoté. – CtrlDot

+1

@AJ - mec, vous rock! – CtrlDot

Questions connexes