Erro de operação inválida de operação entre linhas quando eu recebo uma string de outra tarefa [duplicada]

Esta pergunta já tem uma resposta aqui:

Operação de encadeamento inválida: controle acessado a partir de um encadeamento diferente do encadeamento em que foi criado 20 respostas

No meu código, eu designo uma GUI que gerenciava em uma tarefa. Da classe Form1, envio parâmetros ao método para outra classe em uma tarefa diferente e obtenho parâmetros da tarefa.

Na classe form1 eu tenhomyEvt_valueChnaged(string s) método que obtém strings como argumento - sequência que contém o texto da caixa de texto que é enviada do evento na classe do gerente - invocada a partir de uma tarefa diferente.

Com a string recebida, atualizo a caixa de texto na GUI, conforme escrito aqui:

private void myEvt_valueChnaged(string s)
{
    textBox1.Text = s;
}

com este código, recebo o erro:

invalidoperationexception was unhandled by user code - Cross-thread operation not valid: Control 'textBox1' accessed from a thread other than the thread it was created on.

Eu tentei adicionar linha no método:var y =s; and then textBox1.Text=y; mas não resolveu.

Como posso resolver este problema?

questionAnswers(1)

yourAnswerToTheQuestion