80 votes

Obtenir et définir la résolution de l'écran

Comment puis-je collecter et modifier la résolution de l'écran en utilisant Visual C# ?

5 votes

1 votes

@Justin : Ajoutez SystemInformation.PrimaryMonitorSize au mélange et postez-le comme réponse.

0voto

Si vous souhaitez collecter la résolution de l'écran, vous pouvez exécuter le code suivant à l'intérieur d'une fenêtre WPF (la fenêtre est ce que l'option this ferait référence) :

System.Windows.Media.Matrix m = PresentationSource.FromVisual(this).CompositionTarget.TransformToDevice;
Double dpiX = m.M11 * 96;
Double dpiY = m.M22 * 96;

1 votes

La question énonce : "Comment puis-je collecter et changement la résolution de l'écran en utilisant Visual C#"

0voto

Oscar Marin Points 136

J'ai passé beaucoup de temps à essayer de résoudre ce problème, pour les appareils avec un facteur d'échelle, il est très difficile d'obtenir la taille réelle de l'écran en raison du facteur d'échelle qui est parfois de 125% ou 150%. Lorsque les appels sont faits aux objets C#, la valeur renvoyée n'est pas la bonne, il faut donc faire un appel à l'API Windows pour obtenir le facteur d'échelle et appliquer le multiplicateur, la seule façon de fonctionner que j'ai trouvée pour les applications non WPF est la suivante

https://stackoverflow.com/a/21450169

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X