Salve,
io ho una piccola stranezza che non capisco e spero col titolo di averla riassunta abbastanza.... allora:
ho un form Mdi a tutto schermo;
ho un form child all'interno di tale form che fa partire su un altro thread un oggetto che deve fare tutta una serie di operazioni impegnative;
tale oggetto, in caso di lavoro completato/cancellato, lancia un evento di report LauncherEventHandler;
tale evento viene gestito da un metodo nel form che fa una cosa del tipo:
codice:if(risultato) { //do something }else{ OperationError(messaggio) } ...... private void OperationError(string msg) { MessageBox.Show(msg) }
Detto ciò la messagebox me la mostra correttamente, solo che me la mette DIETRO al form MDi Padre... quindi di fatto non si vede se non minimizzando il form suddetto...
due domande quindi:
1) ma succede così perchè la chiamata veniva da un alto thread? (considerando che se invece ci metto un pulsante nella form child con un messagebox, si vede tranquillamente...)
2) c'è un modo per forzarlo a farlo vedere in primo piano?
![]()