Possibilità numero uno: gestisci direttamente l'evento Closing all'interno della dll.
Possibilità numero due: gestisci l'evento Closing nell'applicazione chiamante, aggiungendo un gestore di evento tramite AddHandler:
codice:
'...
AddHandler ap.Closing, GestoreChiusura
'...
Public Sub GestoreChiusura(ByVal sender As Object, ByVal e As CancelEventArgs)
'codice per l'aggiornamento della griglia
'...
End Sub
Possibilità numero tre: dichiari una variabile privata WithEvents che contenga un riferimento al form nel modulo/nella classe dell'applicazione chiamante e gestisci l'evento con la parola chiave Handles:
codice:
Private WithEvents ap As System.Windows.Forms.Form
'...
ap = New AnagraficaPersone.frmMain
ap.Show
'...
Public Sub GestoreChiusura(ByVal sender As Object, ByVal e As CancelEventArgs) Handles ap.Closing
'codice per l'aggiornamento della griglia
'...
End Sub
Possibilità numero quattro: se non ti interessa eseguire l'aggiornamento proprio durante l'evento Closing ma dopo che il form si è effettivamente chiuso ti basta richiamare il metodo ShowDialog invece che Show, che ritorna solamente dopo che il form è stato chiuso:
codice:
Dim ap As New AnagraficaPersone.frmMain
ap.ShowDialog
'codice per l'aggiornamento della griglia
'...