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

VB.NET Discussion :

Déformation contenu Form en fonction écran


Sujet :

VB.NET

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut Déformation contenu Form en fonction écran
    Bonjour, depuis peu je suis confronté à un petit soucis graphique.
    J'ai constaté qu'en fonction de la taille de l'écran et de la résolution choisi, j'ai des forms ou les labels, textbox, etc... qui ne sont plus à côté par exemple comme je l'ai fait avec le concepteur mais se chevauchent ......

    Pourriez-vous éclairer ma lanterne ? Merci pour votre future aide.

  2. #2
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonjour,

    Il faut que tu joues avec les propriétés anchor/dock en plaçant des conteneurs (groupbox, flowlayoutpanel, panel, splitcontainer, tabcontrol...). C'est généralement assez compliqué à mettre en oeuvre quand on a beaucoup de controls dans un formulaire.

    Bon courage
    Un âne se croit savant parce qu'on le charge de livres (proverbe américain)

    N'oubliez pas de avant de
    Pas de question techniques par MP, c'est contre la philosophie du forum

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Hello,

    J'ai essayé ces propriétés dans un splitpanel. Le problème est que dans ce même splitpanel, je peux avoir un label et un textbox à côté par exemple.
    Et si j'ancre mon textbox à gauche par exemple, il le place tout à gauche sur le label ..... au lieu de le mettre à droite de mon label...

    J'ai lu à droite et gauche que le top serait le wpf (si je ne me trompe pas). Mais vu mes compétences en vbnet, c'est compliqué....

    Vis à vis des forms, pas de soucis, j'ai les barres de défilement. Mais comme j'ai lu : un label en arial 10 restera en arial 10.... et sur certains PC, çà déborde sur le textbox par exemple ....

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Problème d'AutoScale .
    La solution brutale à essayer dans l'initialization de la form est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MyForm.AutoScaleMode= AutoScale.None
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Hello Graffito,

    J'ai intégré dans le load (je testerais dès que possible) :

    Me.AutoScaleMode = Windows.Forms.AutoScaleMode.None
    Peux-tu me dire quelle est la valeur par défaut ?

    J'ai trouvé ceci pour ce contrôle :
    http://msdn.microsoft.com/fr-fr/libr...scalemode.aspx

    J'ai un peu de mal à saisir les nuances des possibilités....
    Merci pour ton aide

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Rebonjour à tous,

    J'ai regardé dans mon form.designer et j'ai actuellement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.AutoscaleMode = System.Windows.Forms.AutoScaleMode.Font
    En allant sur un autre PC, j'ai même remarqué que chez certaines personnes (en fonction de la résolution de l'écran choisie pour des raisons de confort de lecture), même le form.Text n'est pas visible en entier ...

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Rebonjour à tous,

    Bon ben toujours coincé ... avec ces déformations. J'ai remarqué que l'utilisateur peut modifier la taille des caractères sans pour autant modifier la résolution de l'écran. Là c'est encore pire, les textbox se chevauchent, etc ....

    J'ai essayé avec la suggestion mais rien n'y fait ....

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Hello,

    Juste un petit UP pour faire remonter mon petit topic car aucune idée de comment faire pour résoudre ces déformations ...

  9. #9
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Bonjour,

    Comme dit par sisqo60 il faut jouer avec les propriétés anchor/dock et les conteneurs.

    Voici un tuto qui pourra surement t'aider à comprendre cela. Ça a l'aire difficile au début (comme pas mal de chose quand on ne les connait pas) mais quand on a compris c'est un jeu d'enfant.

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Hello,

    Vais jeter un œil et reviens vers vous. Merci pour le lien

  11. #11
    Membre habitué Avatar de Savak
    Homme Profil pro
    Ingénieur Etude et Développement
    Inscrit en
    Avril 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur Etude et Développement

    Informations forums :
    Inscription : Avril 2012
    Messages : 111
    Points : 192
    Points
    192
    Par défaut
    Sinon, si tu ne veux pas être embêté avec la résolution d'écran de chacun, tu peux tout simplement passé la propriété "Locked" de ta form à "True". Cela permet l'interdiction du redimensionnement de ta form par l'utilisateur.

    C'est une solution pour faignant, j'en suis conscient mais ça à le mérite d'exister.

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Salut Savak,

    Le problème ne vient pas du redimentionnement du form si tu parles du redimentionnement de la fênetre en haut à droite.
    Mon problème vient du changement :

    - de la résolution d'écran
    - du changement de la taille du texte, sans changer la résolution de l'écran. (Sous W7, par exemple c'est dans "apparence et personnalisation", "affichage", "Faciliter la lecture à l'écran")

    Si je change la résolution de l'écran, pourquoi toutes les contenus des autres fenêtres d'autres programmes savent s'adapter et pas le mien
    Idem si je change la taille du texte ....

    Dans mon form, j'ai du texte et des tableaux. Si je met cote à cote un textbox et combobox et que je change la résolution, mon combobox vient écraser une partie du contenu de mon textbox.
    Mon datagridview va grignoter mon texte du dessus, etc .....

  13. #13
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    J'avoue avoir du mal à comprendre...
    Tu serais mettre des copies d'écrans de l'application "normal" et de l'application "déformée"?

  14. #14
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Salut,

    Voici un exemple. C'est extrait d'un bout du tab index de mon form principal.
    Le tab index est séparé en deux par un splitcontainer horizontalement. Le texte dans le premier, le tableau dans le deuxième

    1er cas : normal
    2eme cas : modification résolution écran : une ligne de texte "croqué"
    3eme cas : personnalisation taille caractère à 115% : chevauchement du texte

    Lors du 3ème cas, il arrive même que dans un combobox, il manque des lettres ...
    Images attachées Images attachées  

  15. #15
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Je te confirme que cela est réglable en mettant deux panels avec le Dock réglé sur Top et le DataGridView avec Dock réglé en fill.
    Le premier panel du haut contiendra un label et un comboBox. Le comboBox aura sa propriété dock réglée Right avec AutoSize = True et le label en dock fill autosize true.
    Le deuxième panel est dans le meême genre que le premier. On aurait pu choisir un splitPanel à la place à voir.

    Joue aussi avec les propriétés Padding / Margin pour bien espacer les composants et avoir une meilleur mise en page.

    Une fois tout mi en place, tout se dimensionnera bien à la plupart des redimensionnement et augmentation de taille de caractère. Après il n'y a pas de miracle, si un utilisateur met du 480/600 avec taille des caractères au max et que tu as prévu l'application pour 1280/800 avec taille des caractère normal, (Vécu) le résultat sera toujours tronqué. C'est d'ailleurs pour cela que certaine société impose des résolutions minimales.

  16. #16
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 261
    Points : 98
    Points
    98
    Par défaut
    Hello,

    Merci pour tes suggestions. Concernant les textbox et combobox, j'ai un petit soucis. Dans le panel du haut, j'ai de gauche à droite :

    Un Textbox suivi d'un combobox. Si je "dock" le Textbox à gauche, il me le mets à gauche mais en haut et plus à la position ou je souhaiterais qu'il soit.
    C'est là que je dois utiliser margin/padding .

    Et pour le combobox qui est placé juste après le textbox, je dois le mettre à fill ?

    Pas évident avec tous ces paramètres ...

  17. #17
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Points : 4 232
    Points
    4 232
    Par défaut
    Non c'est pas évident en effet au début mais il faut tester pour comprendre...
    N'hésite pas à faire ça sur un autre projet de test de placement pour pas trop casser ton projet actuel, test les différents types de conteneurs et leurs propriétés, c'est le meilleur moyen pour apprendre à faire de belle interface.

    Désolé mais pour le moment je n'ai pas trop le temps de tester de mon coté.

Discussions similaires

  1. [VB.NET] Form en plein écran ?
    Par vynce dans le forum Windows Forms
    Réponses: 9
    Dernier message: 09/01/2013, 15h41
  2. [AC-2003] dimensionnemment auto des form en fonction de la taille de l'écran
    Par adelsunwind dans le forum IHM
    Réponses: 3
    Dernier message: 21/12/2009, 15h12
  3. [Forms 6.0 ] écran de connexion
    Par Ordonnateur dans le forum Oracle
    Réponses: 4
    Dernier message: 18/12/2005, 18h07
  4. affichage forme en fonction de la resolution de l'ecran
    Par shiners300 dans le forum C++Builder
    Réponses: 1
    Dernier message: 24/11/2004, 14h33

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