Threading in .NET

If you have some trouble in updating GUI elements in .NET because they are not created by the thread just running, try the following:

delegate void onSensorChangeParameterDelegate(int index, int sensorValue);
void kit_OnSensorChange(int index, int sensorValue)
    if (InvokeRequired)
        BeginInvoke(new onSensorChangeParameterDelegate(kit_OnSensorChange), new object[] { index, sensorValue });
    txtInfo.Text = String.Format("Index={0}, Value={1}", index, sensorValue);


So the method is handed over to the GUI thread, where txtInfo is a TextField, and processed there. Jon has written a great article about threading in .NET and how it can be done.

Leave a Reply