[Gambas-user] Clearing data from TextAreas & ListBoxes

Tobias Boege taboege at ...626...
Mon Mar 2 20:25:59 CET 2015


On Mon, 02 Mar 2015, John Rose wrote:
> I have a Click event on a Button. At runtime, clicking the button should
> cause clearing of the data from a TextArea & some ListBoxes. There's no
> way this 'clearance' cannot be executed as the Exec of a CL program
> (which definitely happens because it populates these controls) soon
> follows it. However, it doesn't seem to do so. Clearance coding:
> With StopListBox
>     .Clear
>     .Refresh
>   End With
>   With SteckersListBox
>     .Clear
>     .Refresh
>   End With
>   With ReflectorListBox
>     .Clear
>     .Refresh
>   End With
>   With RotorsListBox
>     .Clear
>     .Refresh
>   End With
>   With DetailTextArea
>     .Clear
>     .Refresh
>   End With
> 
> Is the above the correct method of causing the clearance to happen on
> the screen immediately?
>  

That last word is important. Controls are refreshed during the event loop
which you can think of as the pause mode of the interpreter: it enters it
when there is no Gambas code to execute at present. The interpreter sits
there waiting for events to happen or does maintenance like redrawing the
GUI.

You can force the interpreter to look at pending events (and to redraw the
controls by the way!) by using the Wait instruction without argument.
Calling Refresh() is not necessary here which saves you 3 lines per Clear()
call.

Regards,
Tobi

-- 
"There's an old saying: Don't change anything... ever!" -- Mr. Monk




More information about the User mailing list