Comment puis-je obtenir la barre de défilement de la position sur le panneau? WinForms En C#
Je vais essayer d'obtenir la position de la barre de défilement sur un panneau, mais il olny fonctionne si je la faire défiler en cliquant et en faisant glisser le scroolbar ou en cliquant sur ses boutons de défilement.
Si j'ai faites défiler le panneau à l'aide de la molette de la souris ne fonctionne pas.
Voici mon code:
if (mypanel.HorizontalScroll.Value > 500)
{
lbl1.Text = "A";
}
if (mypanel.HorizontalScroll.Value < 300)
{
lbl1.Text = "B";
}
- La molette de la souris fait défiler verticalement, et non horizontalement. Votre moniteur de tomber?
- Dans mon application, elle défile horizontalement parce que je n'ai pas de barre de défilement verticale. Comment puis-je faire ce que vous dites?
InformationsquelleAutor user2558874 | 2013-10-26
Vous devez vous connecter pour publier un commentaire.
La
Scroll
etMouseWheel
sont différents. Lorsque vous faites défiler, cela signifie que vous devez utiliser leScrollBar
à défiler, le messageWM_HSCROLL
etWM_VSCROLL
sera envoyé à la commande. Lorsque vous utilisezMouse
vous pouvez également faire défiler la liste avec une condition qu'il y est 1 enfant de contrôle porté dans lescrollable container like Panel
, le messageWM_MOUSEWHEEL
sera envoyé à la commande. Afin d'obtenir ce que vous voulez, vous devez enregistrer des gestionnaires pour les deux événementsScroll
etMouseWheel
comme ceci:Horizontal ScrollBar
s'affiche. Cela se produit lorsque le contenu sont empilés horizontalement.Le code est OK, mais est-il appelé lorsque la molette de la souris est activé? c'Est à dire le code associé à la roulette de la souris de l'événement?
Il peut également y avoir un problème avec la mise au point de déclenchement de l'événement, surtout pour un panneau.