Hallo,
ich verwende ein Panel mit der Eigenschaft Autoscroll=true zur Verwaltung einer Kollektion von Zellen mit Pictureboxen. Beim Scrollen des Panels wird der Inhalt fortlaufend umgewälzt, um eine große Kollektion im Ausschnitt anzeigen zu können. Der angezeigte Ausschnitt folgt vorwärts wie rückwärts der Scroll-Position.
Dabei ergibt sich ein unschöner Effekt, der wohl eher mit dem Scrollbalken und den Mauskoordinaten zu tun hat, als mit meinem Algorithmus: Wenn man die Maus beim Scrollen vom Scrollbalken weg bewegt, funktioniert die Kopplung auch bis zu einer Entfernung von wenigen Zentimetern vom Balken nach links und rechts. Wird der Abstand der Maus vom Balken größer als etwa 5 cm, springt der Scrollbuttton an den Anfang, kehrt aber wieder an die alte Position zurück, wenn sich die Maus dem Balken wieder nähert. Im Internet bin ich auf den Beitrag Scrollbalken springt, wenn man die Maus wegbewegt gestoßen, der darauf hindeutet, dass das Verhalten an vielen Stellen beobachtet und als störend empfunden wurde unter anderem findet es sich auch beim Windows-Explorer.
Sinnvoll wäre es, zu erzwingen, dass die Maus das Rechteck des Scrollbalkens gar nicht erst verlässt. Aber Wie kann man die aktuellen Mauskoordinaten so korrigieren, dass der Scrollbalken die Maus an sich bindet? Man könnte das Problem auch anders angehen, indem man das Eintreten des Kontaktverlusts irgendwie registriert und dann einfach den Scrollinhalt fixiert. Da tritt aber eine aufwendig behandelbare Nebenwirkung ein, wenn die Maus nicht an der gleichen Stelle wieder in den aktiven Bereich eintritt.
ich verwende ein Panel mit der Eigenschaft Autoscroll=true zur Verwaltung einer Kollektion von Zellen mit Pictureboxen. Beim Scrollen des Panels wird der Inhalt fortlaufend umgewälzt, um eine große Kollektion im Ausschnitt anzeigen zu können. Der angezeigte Ausschnitt folgt vorwärts wie rückwärts der Scroll-Position.
Dabei ergibt sich ein unschöner Effekt, der wohl eher mit dem Scrollbalken und den Mauskoordinaten zu tun hat, als mit meinem Algorithmus: Wenn man die Maus beim Scrollen vom Scrollbalken weg bewegt, funktioniert die Kopplung auch bis zu einer Entfernung von wenigen Zentimetern vom Balken nach links und rechts. Wird der Abstand der Maus vom Balken größer als etwa 5 cm, springt der Scrollbuttton an den Anfang, kehrt aber wieder an die alte Position zurück, wenn sich die Maus dem Balken wieder nähert. Im Internet bin ich auf den Beitrag Scrollbalken springt, wenn man die Maus wegbewegt gestoßen, der darauf hindeutet, dass das Verhalten an vielen Stellen beobachtet und als störend empfunden wurde unter anderem findet es sich auch beim Windows-Explorer.
Sinnvoll wäre es, zu erzwingen, dass die Maus das Rechteck des Scrollbalkens gar nicht erst verlässt. Aber Wie kann man die aktuellen Mauskoordinaten so korrigieren, dass der Scrollbalken die Maus an sich bindet? Man könnte das Problem auch anders angehen, indem man das Eintreten des Kontaktverlusts irgendwie registriert und dann einfach den Scrollinhalt fixiert. Da tritt aber eine aufwendig behandelbare Nebenwirkung ein, wenn die Maus nicht an der gleichen Stelle wieder in den aktiven Bereich eintritt.