Atualize o rótulo durante o processamento no Windows Forms

Qual é a melhor maneira de atualizar um rótulo em um aplicativo Windows Forms durante o processamento?

Tenho um loop que processa alguns arquivos no sistema do usuário quando o usuário clica em um botã

foreach (System.IO.FileInfo f in dir.GetFiles("*.txt"))
{
   // Do processing
   // Show progress bar
   // Update Label on Form, "f.Name is done processing, now processing..."
}

Qual seria um código de exemplo?

Como exatamente isso é chamado? É threading ou delegados?

questionAnswers(6)

yourAnswerToTheQuestion