Do you want
PictureBox
to maximize and re-render the image? This simple functionality is already questionable in terms of the abuse of this component which is designed to be used only in the simplest situations, but very easily. Should you do something a bit more complex than just showing one static picture (well, maybe changing the picture occasionally, but not often), this component provides no help but just obstacles; it eats up development time and extra resources, offering no useful functionality in return.
Abuse of this control type is very usual and regularly causes big deal of frustration.
No useful compared with what? Compared to a simple custom control derived from
System.Windows.Forms.Control
handling the event
Paint
or overriding the virtual method
Paint
. If you do anything to the image, this is the most adequate technique.
For further detail, please see my past answers:
How do I clear a panel from old drawing[
^],
draw a rectangle in C#[
^].
See also these answers for better understanding of the technique:
What kind of playful method is Paint? (DataGridViewImageCell.Paint(...))[
^],
Drawing Lines between mdi child forms[
^].
—SA