Solved

Maximising / restoring VB2008 form causes corruption of desktop behind it

Posted on 2009-05-14
11
315 Views
Last Modified: 2013-11-26
Hi,
I have a VB 2008 application to which I recently added a couple of timers.  Since then, when I maximise the VB form and then reset it to its "normal" size, I find that the desktop behind the form is corrupted; several of us get a second copy of the desktop icons and background overlaid where the form was.  Another colleague finds the icons on his desktop flickering as if the cursor is tabbing from one to the next very quickly.

The duplication effect seems to pick up the contents of the desktop from behind the maximised form, and copy them behind the form when it is normalised.    A partial screenshot of the problem is attached.

I think this might be a video driver issue as the three users with the duplication problem have Nvidia 7300 LE cards, and the user with the flicker has an Nvidia 8600 GT.  However, I've updated my driver to the latest version with no effect.  Does anyone have any experience of a similar problem?  We're running Windows XP Pro on Dell machines.

With thanks in anticipation,

John.
Desktop-Corruption-Issue.png
0
Comment
Question by:ecicdev
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
11 Comments
 
LVL 9

Expert Comment

by:wellhole
ID: 24385840
If this only happens with this VB form that you mention, then its unlikely the video card that causes the problem, especially if you're running it across multiple machines. Its extremely probable that your form has issues, such as with the paint procedure.
0
 

Author Comment

by:ecicdev
ID: 24385910
Thanks for the stunningly quick reply.  I'm happy to believe that it's my form, but I'm unaware of anything I can do to affect the desktop behind the form; could you give me any pointers on what I should be looking for or what commands might help sort out the problem, please?
0
 
LVL 9

Expert Comment

by:cdaly33
ID: 24385959
What happens if when on the desktop you press the F5 key to refresh the desktop.  Does it clear up?  Is there any other method you've found to clear up the issue if even temporarily?
0
Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

 

Author Comment

by:ecicdev
ID: 24386018
Hitting F5 - or blatting another form over the affected part of the desktop and moving it away clears the problem - the desktop re-appears fine.  
0
 
LVL 9

Expert Comment

by:wellhole
ID: 24386103
Unfortunately, there is no one click fix for this as far as I know. Refreshing the desktop is about the only way you're going to clear up the desktop. You could also maximize another window, or use the Show Desktop icon or option in the right click menu on the taskbar.
0
 

Author Comment

by:ecicdev
ID: 24386324
Thanks for this.  Unfortunately while these methods would clean up the desktop, none of them are going to let me get my VB App promoted to production as it won't pass Quality Control (he's called David... my boss).
If you have any thoughts on what area of the program (just the timers?) might be causing the issue, they would be much appreciated.
 
0
 
LVL 9

Accepted Solution

by:
wellhole earned 300 total points
ID: 24386395
If your programmer disables the timers and this doesn't happen anymore, then yes the problem lies in what the timers are doing. It could also be how the rest of the application responds to what those timers are doing. Either way, you won't know unless you disable them and test.

I also recommend checking out the paint procedure that your programmer wrote. Try disabling that.
0
 

Author Comment

by:ecicdev
ID: 24386428
Thanks.  There is no paint procedure, but I'll have another play with the timers.  I'll be away for a few days, but a colleague of mine will be looking at the issue in the meantime... I'll get back to you when I'm back at work on Tuesday, but you may hear from him in the meantime.
Many thanks or your help to date.
0
 
LVL 86

Assisted Solution

by:Mike Tomlinson
Mike Tomlinson earned 200 total points
ID: 24387823
I'd have to agree that it's probalby the form not "responding" quickly due to heavy processing with the timers.  If you have any LOOPS running in the Timer events then consider placing a call to "Application.DoEvents()" in there and see if that alleviates the problem.
0
 

Author Comment

by:ecicdev
ID: 24420005
Thanks for this suggestion, Idle Mind.  I did try inserting DoEvents within the timer code but it had no effect.  Thanks for the thought, though - well worth a go.
0
 

Author Closing Comment

by:ecicdev
ID: 31581495
This turned out to be one of those nasty ones where there is no clean fix, I think - I've awarded the points as a thankyou for the suggestions, which were none the less helpful.
0

Featured Post

Space-Age Communications Transitions to DevOps

ViaSat, a global provider of satellite and wireless communications, securely connects businesses, governments, and organizations to the Internet. Learn how ViaSat’s Network Solutions Engineer, drove the transition from a traditional network support to a DevOps-centric model.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
bound data table problem 2 42
intel CPUs suffix question.. 4 69
How to downgrade visual studio 2015 enterprise to professional 6 58
VB.net Filesystem watcher not working 5 38
In the modern office, employees tend to move around the workplace a lot more freely. Conferences, collaborative groups, flexible seating and working from home require a new level of mobility. Technology has not only changed the behavior and the expe…
Arrow Electronics was searching for a KVM  (Keyboard/Video/Mouse) switch that could display on one single monitor the current status of all units being tested on the rack.
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question