RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: .NET
Expertise: Intermediate
Oct 30, 2007

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 property to 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.

Srinath MS
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date