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 :

[VB.net 1.1] Scrollbar "incomplete"


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 20
    Points : 14
    Points
    14
    Par défaut [VB.net 1.1] Scrollbar "incomplete"
    Bonjour à tous ...
    J'ai un souci avec une scrollbar sur un panel. Situation :
    J'ai un panel, de la meme hauteur que ma fenetre (panel "parent").
    A l'interieur de ce panel, un second panel (panel "enfant"), qui est plus haut que ma fenetre, qui contient X photos (et pas l'inverse ), et à coté de ce second panel, une scrollbar verticale.
    Quand je descend la scrollbar, je "leve" le panel enfant, pour afficher les photos suivantes, et quand je monte la scrollbar, je descend le panel enfant pour afficher les photos précedentes. J'espere que jusque la, c'est clair .

    Maintenant, le probleme proprement dit : quand je descend l'ascenseur, j'arrive en bas de ma zone d'ascenseur AVANT d'avoir atteint ma valeur max. Si ma valeur max est definie, par exemple, à 50, j'atteins deja le bas de mon ascenseur (qui apparait pourtant bel et bien en entier dans ma fenetre, puisque je peux cliquer sur les fleches haut et bas), alors que la value de ma scrollbar est à 35. Plus surprenant encore, si à partir de la je clique sur la fleche vers le bas, mon ascenseur ne bouge plus (il est deja tout en bas), mais ma valeur de scrollbar continue elle d'augmenter jusqu'à ma valeur max, et j'ai donc bel et bien toutes mes photos. Le probleme ne se pose donc que lorsque je déplace l'ascenseur.

    Qqun a deja vu ce probleme la ? Ca peut etre un probleme de code (je n'en ai pas l'impression, vu les symptomes, mais je doute quand meme) ? Ca fait 2 semaines que je cherche la dessus, rien trouvé ...

    Je suis preneur de toute idée, piste ou autre ....
    Merci pour votre aide, et merci de m'avoir lu jusque la !

    Olivier

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

    L'amplitude du scrollbar est calculée par rapport à la zone cliente du panel. Hors (si j'ai tout compris), l'intégralité de la zone cliente n'est pas affichée --> mais c'est malgré tout celle qui sert pour le calcul.
    Donc ça me semble insoluble à moins de forcer l'amplitude du scrollbar "à la main" dans la WndProc...

    Du reste, ça me semble curieux comme maniére de faire.

    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2003
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Salut Olsimar,

    Ta solution a fonctionné !
    Je ne comprends toujours pas le bug que j'avais avec ces scrollbars (j'etais habitué au VB6, et la, c'est de cette maniere (à ma connaissance) qu'on gerait les scrollbars ), mais l'autoscroll est exactement ce dont j'avais besoin !
    Encore merci !
    Olif

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.Net 1.1] Comment "échapper" une quote ?
    Par arnolem dans le forum VB.NET
    Réponses: 1
    Dernier message: 07/09/2006, 10h39

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