ASE Home Page Products Download Purchase Support About ASE
ChartDirector Support
Forum HomeForum Home   SearchSearch

Message ListMessage List     Post MessagePost Message

  updateDisplay and flickering
Posted by Peter on Feb-25-2021 22:43
Peter,

Firstly, I have been working with ChartDirector on/off for a long time and regularly find things that I wasn't aware of. It is a great package. I do have a question.

I recently used a layoutpanel to position a couple of listboxes and a winchartviewer. I have implemented tracking and all works well except I notice that after the updateDisplay() function is called the track mark moves but the listboxes also flicker as though they are being redrawn. Can you think of a reason as to why this is happening? Any way to fix it? I would only have expected the winchartviewer to have been updated.

Peter

  Re: updateDisplay and flickering
Posted by Peter Kwan on Mar-01-2021 23:49
Hi Peter,

Sorry for the late reply.

If the list boxes are flickering, I suspect it is related to the "layoutpanel".

My guess is that when the "layoutpanel" detects that the WinChartViewer control has been updated, it tries to redo the layout, and it tells all other controls to update too. May be this is the cause of the flickering.

We have experience with using track cursors with a lot of other controls on Windows Forms, but not the "layoutpanel". In general, other controls would not flicker when the WinChartViewer is updated, as they are not related. May be you can try to not using the layoutpanel, or put the list boxes or WinChartViewer outside the layoutpanel to see if it helps.

You may also try to call "updateDisplay(false);". The "updateDisplay" is to tell WinChartViewer that your code has finished drawing the track cursor, so it can now update the display. The default is to update the display as soon as possible. The "updateDisplay(false);" means the Windows Forms GUI system will determine when to display the update. In this case, the Windows Forms GUI may not display the update immediately if it is busy doing other things. (My guess is that it would not help as the layoutpanel will still tell the listboxes to redraw itself.) See:

https://www.advsofteng.com/doc/cdnet.htm#WinChartViewer.updateDisplay.htm

Regards
Peter Kwan