Я пытаюсь передать 2 переменные из потока в MainForm в другую форму, но при этом возникает ошибка.
private void TrackingThread( )
{
float targetX = 0;
float targetY = 0;
while ( true )
{
camera1Acquired.WaitOne( );
camera2Acquired.WaitOne( );
lock ( this )
{
// stop the thread if it was signaled
if ( ( x1 == -1 ) && ( y1 == -1 ) && ( x2 == -1 ) && ( y2 == -1 ) )
{
break;
}
// get middle point
targetX = ( x1 + x2 ) / 2;
targetY = ( y1 + y2 ) / 2;
}
if (directionForm != null)
{
directionForm.RunMotors(targetX, targetY);
}
}
}
В форме directionForm я просто отображаюпеременные targetX и targetY.Код для directionForm.RunMotors () выглядит следующим образом:
public void RunMotors(float x, float y)
{
label1.Text = "X-ordinate " + x.ToString();
label2.Text = "Y-ordinate " + y.ToString();
}
Ошибка возникает при попытке отобразить две переменные: «InvalidOperationException не обработано. Недопустимая операция многопоточности: элемент управления label1, доступный изнить, отличная от нити, в которой оно было создано "
Что мне делать ???
Заранее спасибо