Maison > développement back-end > C++ > Comment obtenir la taille actuelle de l'écran dans WPF sur une configuration multi-écran ?

Comment obtenir la taille actuelle de l'écran dans WPF sur une configuration multi-écran ?

Susan Sarandon
Libérer: 2025-01-05 16:22:40
original
295 Les gens l'ont consulté

How to Get the Current Screen Size in WPF on a Multi-Screen Setup?

Obtention de la taille actuelle de l'écran dans WPF

Votre question se concentre sur la détermination de la taille de l'écran actuel dans une configuration multi-écran, où tous les écrans peuvent ne pas utiliser la même résolution. Bien que vous ayez mentionné l'utilisation de SystemParameters.PrimaryScreenWidth et SystemParameters.PrimaryScreenHeight pour l'écran principal, il est en effet essentiel d'obtenir la taille de l'écran actuel.

Pour résoudre ce problème, vous pouvez utiliser WpfScreen, une classe wrapper qui encapsule la classe Screen de System.Windows.Forms. Cette classe propose plusieurs méthodes pour récupérer des informations liées à l'écran :

  • AllScreens() : Renvoie une énumération d'objets WpfScreen représentant tous les écrans.
  • GetScreenFrom(Window window): Récupère le WpfScreen pour un spécifié window.
  • GetScreenFrom(Point point): Obtient le WpfScreen pour l'écran qui contient un point donné.
  • Primary: Renvoie l'écran principal .

De plus, WpfScreen fournit les éléments suivants propriétés :

  • DeviceBounds : Les limites de l'écran en pixels indépendants de l'appareil.
  • WorkingArea : La zone de travail utilisable sur l'écran dans pixels indépendants de l'appareil.
  • IsPrimary : Indique si l'écran est l'écran principal.
  • DeviceName : Le nom de l'appareil de l'écran.

Exemple d'utilisation :

// Get the primary screen's size
var primaryScreen = WpfScreen.Primary;
Console.WriteLine("Primary Screen: {0} x {1}", primaryScreen.DeviceBounds.Width, primaryScreen.DeviceBounds.Height);

// Get the current window's screen size
var currentWindow = new Window();  // Replace this with the actual window object
var currentScreen = WpfScreen.GetScreenFrom(currentWindow);
Console.WriteLine("Current Window's Screen: {0} x {1}", currentScreen.DeviceBounds.Width, currentScreen.DeviceBounds.Height);

// Get the screen containing a specified point
var point = new Point(500, 300);
var containingScreen = WpfScreen.GetScreenFrom(point);
Console.WriteLine("Screen Containing Point: {0} x {1}", containingScreen.DeviceBounds.Width, containingScreen.DeviceBounds.Height);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal