In the article A Simple Scroll Controller for Winforms I mentioned that I was working on a FlickScrolling framework for Winforms.
I finished a version of this code a couple of months ago and it seems to work well.
The code never went into production because I think that Windows 7 will provide this functionality automatically for winforms applications.
Nevertheless, some people have showed an interest in what I came up with, so I’m posting it here for your edification. I hope someone finds it useful.
Usage
To use, simply instantiate the “ApplicationFlickScrolling” class, passing in the datatypes of the container controls you wish to scroll.
For example:
Private Shared moApplicationFlick As New ApplicationFlickScrolling(GetType(Panel))
To switch it on and off, used the “Enabled” property:
moApplicationFlick.Enabled = True
That’s it!
The Implementation
The code consists of 3 classes:
- ApplicationFlickScrolling to act as the master controller class
- ApplicationMouseEvents class for detecting mouse events
- FlickDetector for detecting simple gestures
- ScrollController for performing elastic-style easing of scrolling
Improvements
If I’d have continued developing this I would have modified ScrollController to use “proper” easing functions.
| Share this post : |