C # InvalidOperationException I operacja krzyżowa [duplikat]
To pytanie ma już tutaj odpowiedź:
Nieprawidłowa operacja wątków: kontrola dostępna z wątku innego niż wątek, w którym została utworzona 20 odpowiedziW formularzu moich okien mam pole tekstowe i przycisk, pole tekstowe „tb_LogBox” to wielowierszowe pole tekstowe Próbuję utworzyć pracownika w tle, który ma wywoływać funkcję, np. „LogTimer.DnT ()”, gdy kompiluję się i uruchom go Visual Studio zgłasza InvalidOperationException.
Rzeczywisty błąd Dostaję niepoprawną operację wątków: Kontroluj 'tb_LogBox' uzyskiwany z wątku innego niż wątek, na którym został utworzony. Poniższy przykładowy kod ilustruje to, co próbuję zrobić
private void button1_Click(object sender, EventArgs e)
{
try
{
var bw = new BackgroundWorker();
bw.DoWork += ExecuteOperations ;
bw.RunWorkerAsync();
}
catch (Exception ex)
{
tb_LogBox.AppendText(Environment.NewLine + " =@= " + ex.Message+" "+ex.Source);
}
}
private void ExecuteOperations(object sender, DoWorkEventArgs e)
{
var FuncCall = new LogTimer();
tb_LogBox.AppendText(Environment.NewLine + FuncCall.DnT()); // the line i am getting the error. on
}
public class LogTimer
{
public string DnT()
{
const string datePat = @"d/MM/yyyy";
var dateTime = DateTime.Now();
return dateTime.ToString(datePat);
}
}