Paint Event Not Called During Form Resize

Paint Event Not Called During Form Resize

Many of us write common graphics code in the Form’s Paint event because the Paint Event handler provides access to the Graphics object, and also because this handler is fired whenever the form is redrawn (first shown and restored from its minimized state).

There’s just one problem: The Paint event fails when the form is resized?it’s not triggered in the case of a form resize.

There are two workarounds for this problem:

  • Use the handy Invalidate() method. This causes the paint message to be sent to the form, which calls the Paint handler.
  • Use control(Form)‘s ResizeRedraw propertyto redraw itself when the control is resized. Set it to true either in the constructor or the Main() method.

If only a particular portion of the control needs to be refreshed, it’s best to call it with a Rectangle parameter that specifies the portion of the control, otherwise it will hit the performance of the application.

Note: When you call the Invalidate() method without any parameters, the Paint event is called for the entire area.

See also  How to Block Websites During Certain Hours on a Mac Computer

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist