I have painted the image on the panel and drawn rectangle. now i like to move the rectangle and i succeed on that. My problem is when i use panel.invalidate in paint or in mouse move, panle get refeshed every time (all the things getting blink every time when i move the mouse over the panel).

SO i used panel.invalidate in other events (mouse click, mouse move down)and can't able to see the moving of rectangle. (the panel only get refreshed after i release the mouse left click)

My question is how can refesh the panle so the moving rectangle will only get refeshed rather than all drawn things in panel.

I achieved this in picture box.

Unfortunately you cannot refresh the panel without refreshing the background. You can try double buffering the image to precent the flicker. Check out the project here.