IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Adapter appli winform en fonction des DPI


Sujet :

C#

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    690
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2005
    Messages : 690
    Points : 1 647
    Points
    1 647
    Par défaut Adapter appli winform en fonction des DPI
    Bonjour,

    Je souhaiterais adapter mon application en fonction des DPI de l'utilisateur.
    J'arrive à récupérer la résolution de l'écran ainsi que les DPI.
    Après avoir testé mon code sur un PC sous Win XP en 1024*768 et un autre sous Win10 en 1920*1080 je constate que dpix et dpiy valent toujours 96...Je ne comprend pas pourquoi...est-ce normal ?

    Autre question : Est-il possible de changer les DPI sous Win 10 ? La seule chose que j'ai trouvé dans les paramètres d'affichage c'est "Mise à l'échelle et disposition" -> "Modifier la taille du texte, des applications et d'autres éléments" où cette option est à 100% par défaut. En modifiant cette valeur et en redémarrant ma machine, mon appli me renvoie toujours 96 dpi en x et en y...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
           private void button1_Click(object sender, EventArgs e)
            {
                float dx, dy;
     
                Graphics g = this.CreateGraphics();
                try
                {
                    dx = g.DpiX;
                    dy = g.DpiY;
                }
                finally
                {
                    g.Dispose();
                }
     
     
                MessageBox.Show($"dpix = {dx}\ndpiy = {dy}\nRésolution = {Screen.PrimaryScreen.Bounds.Width}x{Screen.PrimaryScreen.Bounds.Height}");
     
            }

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 15
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par bombseb Voir le message
    Autre question : Est-il possible de changer les DPI sous Win 10 ? La seule chose que j'ai trouvé dans les paramètres d'affichage c'est "Mise à l'échelle et disposition" -> "Modifier la taille du texte, des applications et d'autres éléments" où cette option est à 100% par défaut. En modifiant cette valeur et en redémarrant ma machine, mon appli me renvoie toujours 96 dpi en x et en y...
    Si je spécifie 103% pour cette option, le nombre de dpi devient 99 pour mon portable.
    Si je spécifie 104% pour cette option, le nombre de dpi devient 100.
    Si je spécifie 200% pour cette option, le nombre de dpi reste à 96 et ma résolution diminue.

Discussions similaires

  1. affichage dynamique en fonction des données en base
    Par jengo dans le forum Bases de données
    Réponses: 1
    Dernier message: 28/10/2004, 10h22
  2. remplir une table en fonction des résultats
    Par Psychomantis dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 19/10/2004, 12h22
  3. Ajusté les Axes d'un graphe en fonction des données rentrée!
    Par Ma2thieu dans le forum Composants VCL
    Réponses: 5
    Dernier message: 09/07/2004, 01h34
  4. [CR] mise en forme d'un champs texte en fonction des données
    Par niPrM dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 29/06/2004, 11h57
  5. sélection des bd en fonction des utilisateurs (pg_hba.conf)
    Par Bouboubou dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 18/03/2004, 18h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo