Grazie... effettivamente per aggirare il problema ho proprio fatto così, però mi sembra strano non poter aprire una finestrella di dialogo durante l'esecuzione del programma, anche prima di avviare l'iterazione (quella che si apre non mostra nessun widget ma presenta solo titolo e dimensione).
Fortunatamente il multithreading in C# è molto semplice e quindi mi è bastato creare un Thread ed un ThreadStart il quale richiama un delegato (così da poter passare al Thread dei parametri)
Delegando l'elaborazione ad un thread differente ho la possibilità di "giocare" con i widget GUI a mio piacimento nel thread principale.codice:ThreadStart ts = delegate() { metodo(parametri); }; Thread t = new Thread(ts); t.Start();