Comment puis-je collecter et modifier la résolution de l'écran en utilisant Visual C# ?
La question énonce : "Comment puis-je collecter et changement la résolution de l'écran en utilisant Visual C#"
Comment puis-je collecter et modifier la résolution de l'écran en utilisant Visual C# ?
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;
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
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.
5 votes
Avez-vous vu cet article de codeproject ?
1 votes
@Justin : Ajoutez SystemInformation.PrimaryMonitorSize au mélange et postez-le comme réponse.