I was learning about async/await and I created a little example that didnt work for me. I wanted to change text props in parallel way. Is it possible?
The error says "'Cross-thread operation not valid: Control 'textBox1' accessed from a thread other than the thread it was created on".
private async void DeleteAsync()
{
var tasks = new List<Task>();
var list1 = new List<Control>();
var list2 = new List<Control>();
list1.Add(textBox1);
list1.Add(textBox2);
list2.Add(textBox3);
list2.Add(textBox4);
tasks.Add(Task.Run(() => ChangeText(list1)));
tasks.Add(Task.Run(() => ChangeText(list2)));
await Task.WhenAll(tasks);
Console.Write("enddd");
}
private void ChangeText(List<Control> lst)
{
foreach (var ctrl in lst)
{
ctrl.Text = "22";
}
}
Many thanks!