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

Windows Forms Discussion :

FlawLayoutPanel & ScrollBar récalcitrante


Sujet :

Windows Forms

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 240
    Par défaut FlawLayoutPanel & ScrollBar récalcitrante
    Bonjour.
    J'essaye d'utiliser un FlowLayoutPanel avec un flux vertical
    Je souhaite avoir :
    - une scrollBar verticale seulement si nécessaire
    - Jamais de scrollBar horizontale
    Pour cela avant, d'ajouter un composant au FLP, j'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonComposant.width = FLP.ClientSize.Width
    Lorsque le nombre de composant dépasse en hauteur la taille de mon FLP, la Vscrollbar apparait comme voulue.
    Le soucis c'est que FLP.ClientSize.Width s'en trouve du coup réduit et voila ma P... de ScrollBar Horizontale qui apparait

    Du coup, j'ai mis dans l'event FLP.ClientSizeChange le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each C as MonComposant in FLP.controls
    	C.width = Flp.clientSize.width
    Next
    Les composants sont bien réduits mais ma ScrollBar horizontale est toujours là !!!
    Si je la fait glisser, je vois la fin de mes composants puis le fond gris de mon FLP
    Fond gris qui, pour ce qui ont bien suivis, a la largeur de ... la scrollBar Verticale
    P... de ScrollBar!
    Y a t'il un moyen de la mater sans être obliger d'écrire 10000 ligne de codes ?

  2. #2
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 184
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 184
    Par défaut
    Bonjour.

    Tu peux tester si la height de ton composant dépasse celle du FLP.

    Si c'est le cas, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonComposant.width = FLP.ClientSize.Width - systemInformation.VerticalScrollBarWidth
    Cdt.

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 240
    Par défaut
    Info qui me sera très utile. Merci Bcp.
    Concenant la largeur des barres, je me doutais bien que l'info existait mais je ne savais pas ou la chercher.
    (Avant l'affichage du controle, je me voyais déja jouer les magiciens a faire apparaitre et disparaitre la barre V pour obtenir sa largeur ! ... )
    Pour l'instant je laisse tout de même ce post en non résolu.
    C quand même pas normal qu'un FLP affiche une barre horizontale alors que tous ces composants sont moins large que la zone client ?
    Si qlq'un a une idée ...

  4. #4
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 184
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 184
    Par défaut
    Bonjour.

    Citation Envoyé par Totanne Voir le message
    C quand même pas normal qu'un FLP affiche une barre horizontale alors que tous ces composants sont moins large que la zone client ?
    Si qlq'un a une idée ...
    Ben non, c'est normal, car la largeur de la Vscrollbar rentre aussi en ligne de compte --> elle diminue de sa largeur la largeur de la zone cliente !
    Donc par effet de bord, tu te retrouves avec une largeur de la zone cliente inférieure à celle de ton control, d'où l'apparition de la Hscrollbar.

    Cdt.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 240
    Par défaut
    Pas du tout !
    La ScrollBar Horizontale persiste alors que mes controles sont retaillés a la nouvelle largeur de la zone client.
    C'est d'ailleurs pour cela que si je la fait glisser je vois le fond du flowLayoutPanel après la fin de mes controles ...

  6. #6
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 184
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 184
    Par défaut
    Bonjour.

    Je demande à voir le code alors, parce que là je vois plus.

    Cdt.

Discussions similaires

  1. [Listbox] ScrollBar Horizontal
    Par haleem dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 20/04/2005, 07h53
  2. [VB6] [Scrollbar] Valeur maximale supérieure à 32750
    Par néo333 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/12/2002, 10h24
  3. [VB6][Formulaire]Appliquer un Scrollbar a une Form
    Par Boil dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/11/2002, 03h51
  4. [visuel]ScrollBar et StatusBar
    Par psl dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/08/2002, 21h28

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