Caution
This is still a pretty solid, and clear implementation of the principles of a timeline control. A lot of things are custom implementations that explain the ideas of a timeline control to a certain degree. While it was fun to work on it at the time, I could no longer accept changes to this repository today. Thus, it has been archived as of 2024-07-29. I hope the archived code can still be useful somehow 😄
A timeline control for .NET.
Shift | Ctrl | Alt | Button/Key | Action |
---|---|---|---|---|
MouseWheel | Scroll vertically | |||
Ctrl | MouseWheel | Scroll horizontally | ||
Alt | MouseWheel | Zoom vertically | ||
Ctrl | Alt | MouseWheel | Zoom horizontally | |
Middle | Pan | |||
Ctrl | A | Select all | ||
Ctrl | D | Deselect all |
By default, anything that intersects with the selection rectangle is selected.
If you hold Alt, anything that is contained within the selection rectangle is selected.
Holding Ctrl allows you pick single tracks in and out of the selection.
Clicking the labels at the start of a track will select all track elements on that track.
When grabbing a track item near the left or right edge and dragging that edge, the start or end of that track item is moved respectively.
When grabbing the track at any other place, the whole track item is moved.
Both resizing and moving operations always snap to full units, unless Alt is being held.