Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: .NET
Expertise: Intermediate
Oct 29, 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
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap