Hi,

In my application there's a PictureBox with a drawing inside. I implemented a zoom function that works in the following way:

- The user clicks somewhere in the PictureBox, and holds the button down. The program stores the cursor position.
- The user moves the mouse, while still holding the button down. The program draws a rectangle between the original and the current cursor position.
- The user moves the mouse further, while still holding the button down. The program deletes the last rectangle, and draws a new rectangle between the original and the current cursor position.
- The user releases the button. The program deletes the last rectangle, and executes the zooming based on the original and the current cursor position.

This is working fine so far.
My problem is that I could only delete the rectangles by drawing same-sized, background-colored rectangles on top of them. But this also deleting the original drawing inside the PictureBox. Is there a way to draw "removable" rectangles?

I know that in Delphi you can use a special brush style, that somehow combines the brush color and the canvas color for each pixel, and you can remove any shapes by drawing them again over themselves, and get the canvas back unchanged. I'm looking for something similar.

Jimmy