>> In a reader procedure, I have a while loop
>> checking if data[i] is available, if not sleep for a certain time,
>> otherwise go ahead and display the data. Is there any better way to do the checking?
Use
Control.Invoke[
^] to notify the UI thread. The method passed to Invoke will be executed on the UI thread.
You can even pass the new data as a parameter, enabling you to drop the locking entirely ...
Regards
Espen Harlinn