[DllImport("user32.dll")]
public static extern int SetScrollPos(IntPtr hWnd, int nBar, int nPos, bool bRedraw);
[DllImport("user32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
public static extern int GetScrollPos(int hWnd, int nBar);
Ce sont donc les externs im en utilisant pour déplacer la position de défilement, ce qui im faire, est-je obtenir la position actuelle, et ajouter ou soustrais un montant exact de pixels , et la barre de défilement sur mon formulaire se déplace parfaitement comment je le veux, mais le contenu dans le contrôle reste stationnaire. Quel est le problème ici?SetScrollPos: barre de défilement en mouvement, mais le contenu de contrôle ne mise à jour
Quel contrôle vous faites défiler? De plus, pourquoi le second paramètre 'hWnd' n'est-il pas un' IntPtr'? – SLaks
Si vous interagissez avec une application Winforms, il ne devrait pas être nécessaire d'utiliser P/Invoke - vous devriez être capable de faire tout ce dont vous avez besoin en utilisant l'API .NET fournie par les contrôles. Pourriez-vous donner un peu plus de détails sur votre demande? –
c'est un UserControl personnalisé, il n'y a pas de méthodes qui peuvent contrôler le défilement à la précision dont j'ai besoin – caesay