Maison >développement back-end >C++ >Comment déterminer les dimensions de l'écran actif dans les applications WPF ?

Comment déterminer les dimensions de l'écran actif dans les applications WPF ?

DDD
DDDoriginal
2024-12-24 20:29:161046parcourir

How to Determine Active Screen Dimensions in WPF Applications?

Détermination des dimensions de l'écran actif dans WPF

Dans les applications WPF, l'obtention des dimensions de l'écran actif nécessite une approche légèrement différente par rapport à WinForms. Cette question répond à la nécessité d'un équivalent WPF de System.Windows.SystemParameters.WorkArea pour déterminer l'espace de travail disponible sur le moniteur actuel.

Solution :

Au lieu de s'appuyer sur une fonction intégrée, vous pouvez utiliser la méthode Screen.FromControl, comme suggéré dans la réponse. Cette méthode prend un objet Control comme argument et renvoie l'objet Screen qui représente le moniteur contenant ce contrôle. Pour appliquer cela dans WPF, vous pouvez créer une méthode d'extension comme celle fournie dans la réponse.

Méthode d'extension :

static class ExtensionsForWPF
{
    public static System.Windows.Forms.Screen GetScreen(this Window window)
    {
        return System.Windows.Forms.Screen.FromHandle(new WindowInteropHelper(window).Handle);
    }
}

En appelant cette méthode d'extension sur un objet WPF Window, vous pouvez récupérer l'objet System.Windows.Forms.Screen correspondant, qui permet d'accéder à la propriété Bounds et d'obtenir les dimensions de l'objet actif. écran.

Utilisation :

Window myWindow = ...;
System.Windows.Forms.Screen activeScreen = myWindow.GetScreen();
Rectangle activeScreenBounds = activeScreen.Bounds;

Cette approche fournit une solution multiplateforme pour déterminer l'espace de travail disponible sur le moniteur hébergeant la fenêtre WPF.

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:
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