locked
Flicker Problem Form Controls RRS feed

  • Question

  • Hello everyone,
    Today I put a new problem. I'm trying to build an application with a form for smartphones with a size larger than normal. I need to increase the size of the form because I need many controls on one screen. Here you experience the following problem:

    if you increase the size of the form I get the scroolbar side and moving to see the controls that are not visible in the form of all the controls are flashing (flickering) when moving.

    I wanted to know if you can eliminate or reduce this flicker.

    I program in VB.NET and I created a Windows Mobile 6

    I await your response!

    Friday, July 23, 2010 8:51 AM

All replies

  • How many and what kind of controls do you put into the form? Does it happen on an emulator or a real device? Be aware that putting too much things into a Windows Mobile's form often leads to bad user experiences. And the form is flickering is probably an indicator that you need to change your way of doing things. For example, you could split the form into mulitple tabs or a multi-step wizard.
    Please mark the post that helps you, and unmark that does not. This benefits our community.
    Monday, July 26, 2010 6:54 AM
  • Thanks for the reply.
    Basically I put a 20 controls on my application. The controls used are co-label, textbox, listbox and combobox. The problem occurs both sull'amulatore that the physical device (HTC HD2). I guess the problem is why I use too many controls, however, wanted to see if there was an alternative solution before changing the way you manage it all.
    If you can recommend something very gladly accept the advice.

    To move on the form does not use the scroll bar, but use the visualization to be found on this link: http://www.codeproject.com/KB/list/SmoothListBox.aspx

    Thanks again.
    Monday, July 26, 2010 7:31 AM
  • add the WS_CLIPCHILDREN style to your form (It may be a checkbox in the form properties for VB .NET). Does that fix the problem?

    http://msdn.microsoft.com/en-us/library/ms632600(VS.85).aspx

    -PaulH

    Monday, July 26, 2010 4:37 PM
  • Hello PaulH79,
    Meanwhile thanks for your help. Sorry if I answer now, but these days I had another thing to do. I tried looking on the properties of the form but have not found anything so far.
    Thursday, July 29, 2010 2:35 PM
  • Hello PaulH79,
    Meanwhile thanks for your help. Sorry if I answer now, but these days I had another thing to do. I tried looking on the properties of the form but have not found anything so far.

    I don't see it either. Disregard.

    I did try putting a whole bunch of controls on a form and scrolling up and down. I can't duplicate any flickering.

    Try an experiment. Make a new VB.NET project, make the form longer than the device can display and add a bunch of controls, but no code. When you run this program, does it have the flickering issue?

    If not, then the problem is in your code. Look to see what window messages you're processing. If you're processing any WM_MOVE or WM_VSCROLL messages, that could be your issue.

    If you do see the issue, then you're probably SOL. Your device is just not keeping up with the painting. Try it on the emulator. Does it still have the issue?

    -PaulH

    Thursday, July 29, 2010 4:15 PM
  • Hello PaulH79,
    thanks again for your help.

    I have already tried to do a form longer than normal and to include controls. The problem persists. I tried on the emulator and also on the device. The result is always the same. Flicker disappears.
    I have not included a single line of code so I do not think that is the problem.

    Thanks again.

    If you have any other ideas will always find me here!
    Friday, July 30, 2010 8:05 AM
  • You can try adding code to double buffer your graphics. Here's a page that demonstrates the technique in VB.NET

    http://www.bobpowell.net/doublebuffer.htm

     

    The idea is that you first create a bitmap in memory the same size as your form. You draw all your controls to that bitmap. Then, all at once, you copy that bitmap to the screen. In most cases, that will eliminate any flickering you would see.

     

    -PaulH

    • Proposed as answer by PaulH79 Monday, August 9, 2010 6:08 PM
    Friday, July 30, 2010 1:42 PM
  • Hello PaulH79,
    I do not know how to thank you for your help.

    Play I think the last answer you gave me is very helpful because I'm reading and analyzing the article. The problem is that I reflected that I program for smartphones and therefore the .Net Compact Framework using the "SetStyle" and enumerators that are used in them because I use are not included in .Net Compact Framework.
    Monday, August 2, 2010 7:18 AM