// given
Rectangle rect = new Rectangle (0, 0, 50, 50)
Point target = new Point(200, 200)
// create 8 movement frames
Point totalOffset = new Point(target.X - rect.X, target.Y - rect.Y)
Point movementVector = new Point(totalOffset.X / 8, totalOffset.Y / 8)
for(int i = 0; i < 8; i++)
{
// shift the rectangle
rect.Offset(movementVector);
// assumes your paint code simply draws a rectangle at point rect
Refresh();
// wait awhile before making next anim step
System.Threading.Thread.Sleep(50);
}