label3.Text = e.CurrentEntry.FileName;
label3.Update();
Метод Update () гарантирует, что метка будет закрашена, и теперь отображает назначенное вами свойство Text. Без этого рисование не происходит до тех пор, пока разархивированный код не перестанет работать и ваша программа снова не будет работать. В противном случае известен как «прокачка цикла сообщений». Вызов Update () - это только частичное исправление, ваше окно все еще кататонично и, например, не реагирует на щелчки мышью. Если это займет больше пары секунд, Windows отобразит окно-призрак «Не отвечает».
Получите некоторый опыт работы с кодированием в C #, а затем займитесь многопоточностью с помощью класса BackgroundWorker.