Недопустимая межпоточная операция: доступ к элементу управления 'textBox1' осуществляется из потока, отличного от потока, в котором он был создан [дубликат]

На этот вопрос уже есть ответ здесь:

Я хочу отправить значение температуры с микроконтроллера с помощью интерфейса UART на С# и отобразить температуру на Label.Content. Вот мой код микроконтроллера:

while(1) {
   key_scan(); // get value of temp
   if (Usart_Data_Ready())
   {
      while(temperature[i]!=0)
      {
         if(temperature[i]!=' ')
         {
            Usart_Write(temperature[i]);
            Delay_ms(1000);
         }
         i = i + 1;
      }
      i =0;
      Delay_ms(2000);
   }
}

и мой код C#:

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
   txt += serialPort1.ReadExisting().ToString();
   textBox1.Text = txt.ToString();
}

, но там возникает исключение " Недопустимая операция с несколькими потоками: доступ к элементу управления "textBox1" осуществляется из потока, отличного от потока, в котором он был создан " Подскажите, пожалуйста, как получить строку температуры с моего микроконтроллера и убрать эту ошибку!

168
задан M.R.T2017 4 July 2018 в 05:24
поделиться