Form Status Controls Stop Updating if Form Loses Focus

G

Guest

I have created an .NET 2.0 application that does a lot of data processing.
When the user starts the process there are a couple of progress bars and the
status strip that are updated as the code executes to give feedback on the
process.

It all works as planned UNLESS the user does something to take the focus
away from the form, such as moving the form or working in another application.

I know that the desired result is possible because you see it all the time
in things like install packages. What do I need to do to force the form to
update itself? this.Refresh() does not make it happen if the form loses
focus.
 
B

Bob Powell [MVP]

I bet you're using a timer to update with...

Try using System.Timers.Timer. It's independent of the Forms message pump
and so will fire even when the form is not pumping messages.

Remember that the timer fires on another thread so you have to invoke a
method on the UI thread from the timer handler otherwise you'll get
problems.

--
Bob Powell [MVP]
Visual C#, System.Drawing

Ramuseco Limited .NET consulting
http://www.ramuseco.com

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top