You want to research the
BackgroundWorker Class[
^].
MSDN even has
this article[
^] on how to use it.
And you can find a lot of other examples and tutorials on
google.[
^].
The general idea is that you would display the image. Then call the backgroundWorker.Asynch, which kicks of the backgroundWorkser's DoWork. That's the event you would code to load the excel file. You'll need to be careful to not cause cross threading errors by not referencing anything inside the DoWork event that was created on the first thread. (You will probably read about that in the articles.) Then in the backgroundWorker's RunWorkerCompleted event you can hide the image again.
Hope this helps get you started.