Provo a rispiegare.

Immagino che avrai una finestra con dei bottoni, che permettono di aprire delle finestre.

Nell'evento di buttonclick tu devi:
Fare il new della finestra.
Tenerti il puntatore ad essa.

A questo punto, crea una nuova voce di menu.
Per fare questo, ti puoi creare una nuova classe FormMenuItem che deriva da MenuItem e che al suo interno contiene una proprieta' pubblica di tipo form a cui assegnare la form appena attivata.

Quindi crei la nuova voce di menu con il fmi = new FormMenuItem
Assegni a fmi.form il valore della tua form.
Attacchi il menu item al tuo menu.

All'evento close della finestra appena creata, agganci un metodo che preso il sender dell'evento ( quindi il puntatore alla finestra ), si vada a scorrere gli item del menu e trovato quello che ha la property form = alla form appena chiuso lo elimini.


A questo punto gestisci l'evento sul menuitem, in modo che renda attiva la form quando si clicca su di lui.

Chiaro questa volta ?