Salve a tutti.
Sto sviluppando una semplice applicazione gestionale in VB.NET. Il menu principale è composto da diversi tasti che sono le sezioni del gestionale. Ogni tasto è un oggetto PictureBox per ognuno dei quali viene caricata un'immagine di sfondo all'avvio dell'applicazione. Inoltre sono gestiti gli eventi MouseHover e MouseLeave di ogni PictureBox: in MouseHover viene caricata un'altra immagine, in MouseLeave viene ripristinata quella di partenza.
Funziona correttamente, solo che l'evento MouseHover si verifica qualche frazione di secondo in ritardo e così l'immagine secondaria viene caricata leggermente dopo. Viceversa all'evento MouseLeave l'immagine primaria ricompare istantaneamente. Non è una cosa grave ma è un fenomeno che vorrei correggere. Come potrei fare? Grazie in anticipo

PS:

Per farlo utilizzo la funzione

picturebox1.BackGroundImage = System.Drawing.Bitmap.FromFile(NomeFile)

e il file che uso è in PNG. Ho provato con JPG e il risultato non cambia. Ho provato anche:

picturebox1.BackGroundImage = System.Drawing.Image.FromFile(NomeFile)

ma anche così non è cambiato nulla.