Accès et utilisation de la mise à l'échelle de l'affichage Windows dans les applications C#
Les utilisateurs de Windows peuvent ajuster la mise à l'échelle de l'affichage pour modifier la taille du texte et des éléments de l'interface utilisateur. Cette fonctionnalité est cruciale pour les développeurs C# qui doivent adapter leurs applications à différents paramètres de mise à l'échelle pour une expérience utilisateur optimale.
Déterminer avec précision le facteur d'échelle
Les méthodes standard telles que Graphics.DpiX
et DeviceCap.LOGPIXELSX
peuvent ne pas être fiables pour déterminer le facteur d'échelle précis. Une approche plus robuste consiste à calculer le facteur en utilisant les hauteurs d'écran logiques et physiques :
<code class="language-csharp">[DllImport("gdi32.dll")] static extern int GetDeviceCaps(IntPtr hdc, int nIndex); public enum DeviceCap { VERTRES = 10, DESKTOPVERTRES = 117, } private float GetScalingFactor() { using (Graphics g = Graphics.FromHwnd(IntPtr.Zero)) { IntPtr desktop = g.GetHdc(); int logicalHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES); int physicalHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES); g.ReleaseHdc(desktop); return (float)physicalHeight / logicalHeight; } }</code>
Cette fonction exploite GetDeviceCaps
pour obtenir les hauteurs d'écran logiques et physiques. Le facteur de mise à l'échelle est ensuite calculé comme le rapport de ces hauteurs, offrant un reflet précis des paramètres de mise à l'échelle de l'affichage de l'utilisateur. Cela garantit un comportement cohérent des applications dans diverses configurations d'affichage.
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!