I want to recreate the stickiness and snapping of windows, like it is implemented in Winamp.
The basic premise is, when you drag a window and it comes close to another one, it will snap to it and will stick. When you move it the two will move together.
I need it for a MDI application.
You could read this article and try to adopt it for your program:
Sticky Windows - How to make your (top-level) forms to stick one to the other or to the screen
The class presented in the article inherits from System.Windows.Forms.NativeWindow, thus no inheritance is required in order to make your class "Stick-able".