Если вы после асинхронного процесса, который предотвращает блокировку формы в событии загрузки формы, вы можете сделать что-то вроде этого.
private async void Form1_Load(object sender, EventArgs e)
{
await Task.Factory.StartNew(() =>
{
//Your code here
}, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.FromCurrentSynchronizationContext());
}
Если вы хотите включить параллелизм в вашу программу, вы можете сделать что-токак это.
private async void Form1_Load(object sender, EventArgs e)
{
TaskScheduler taskScheduler = TaskScheduler.FromCurrentSynchronizationContext();
await Task.Factory.StartNew(() =>
{
ParallelOptions options = new ParallelOptions();
options.TaskScheduler = taskScheduler;
Parallel.Invoke(options,
() =>
{
//Update your listBox1
},
() =>
{
//Update your listBox2
}
);
}, CancellationToken.None, TaskCreationOptions.None, taskScheduler);
}