Screen Refresh Problem

I'm developing windows forms using VB.NET 2003 and whenever I run my application I have screen glitches. For example, If i drag a screen I developed it creates a window streak on the screen. I tested this problem out on another computer and I still have the same problem. I'm sure someone has encountered this problem. Does somebody have a solution to this problem

Answer this question

Screen Refresh Problem

  • Alessio Montagnini

    Weird...  I was looking at this one and trying to figure out what was going on, but I could come up with nothing...  Glad it worked out for you.
  • Simon1787

    If you are doing a significant amount of work (like data retrieval) on the UI thread, you might consider offloading it to a worker thread to keep the UI responsive.
  • WJ53418

    Here's some additional information:
        I'm using a MDI Form and I have children screens. I start the application up with a splash screen that disappears after 3 seconds. Once the splash screen ends, I open the MDI Form. I know it doesn't have anything to do with the splash screen because I took out the code where I create a thread and I still had the same problem. I'm using Visual Studio 2003, and I am working on a Compaq Evo.

  • Soahc

    This issue does occur quite often for me..... its effect is primarily due to the fact that you can not control the repaint of the screen at an exact moment. For instance, if you are doing a great deal of data retrieval while loading a form, it ghosts.... Microsoft informed me that they are aware of the issue and the speed of the controls will improve in future releases... sometime when I am near dead!!!
  • Eyaltac

    I figured it out. Somewhat... I did some preliminary tests to see if a basic project with a MDI form would work properly on my computer. I was surprised to find out that I did not find any problems. So, I created another VB.NET Project and copied the files from the old project into the new project. Everything works now :) 
  • Teeravee Sirinapasawasdee

    You could try enabling double buffering on your form. From what I have read it work much like the Direct 3D backbuffer. Here is the code to enable it. Note: in order to make use of it any painting code should be placed in the OnPaint method of your form.

    With Me 'your form
                    'set up double-buffering
                    .SetStyle(Windows.Forms.ControlStyles.DoubleBuffer Or Windows.Forms.ControlStyles.UserPaint Or Windows.Forms.ControlStyles.AllPaintingInWmPaint, True)
                    .UpdateStyles()
    End With

  • stacyb

    jim even if you use a begininvoke process to manipulate the UI thread, it still causes flashing. If you are filling a list or altering a list it still hesitates. It is MUCH better but not perfect...
  • Screen Refresh Problem