I'm not going to give you the entire code - I don't have time to implement the whole thing for testing, and it's been a while since I did anything like this. I don't want to bang out an example that doesn't work...:laugh:
However, it's actually pretty simple - all you need to do is in your Paint event, apply the appropriate transforms to the supplied Graphics object. MSDN should show you how, with a bit of playing:
Graphics.RotateTransform[
^] and
Graphics.ScaleTransform[
^]
If I remember correctly, you should find it is just a case of calling the simplest version of each, once in each Paint event. You may need to play with the order because the transforms are cumulative, IIRC