Async c# зависает программа

при вызове асинхронного кода , a в нем написать такой код , то программа зависнет на 5 сек а после код не сработает

private async void Run()
{
 await Task.Run(()=>Code());
}
private void Code()
{
 this.label.Visible = true;
 //виснет на 5 сек а после код не срабатывает
}

А так всьо норм

private async void Run()
{
 Code();
}
private void Code()
{
 this.label.Visible = true;
 //виснет на 5 сек а после код не срабатывает
}

Ответы (1 шт):

Автор решения: OXYGEN

Вот так вот будет работать

private async void Run()
{
    await Task.Run(()=>Code());
}
private void Code()
{
    if (InvokeRequired)
    {
        Invoke(new MethodInvoker(delegate
        {
            this.label.Visible = true;
        }));
    }
}
→ Ссылка