Si quieres hacerlo con el Timer debes guardar las coordenadas X e Y en algún lugar...
Pero, creo que el otro código que puse te servirá, no sé si lo has entendido, sería:
Evento MouseDown o cualquier otro:
Código:
Do
mnuName.Tag = ""
PopupMenu mnuName,,X,Y
'Se supone que no saltará a la línea sgte. mientras no se haga Click en un Item
Loop While mnuName.Tag = "REFRESCAR"
Evento Click del Menú Refrescar:
Código:
mnuName.Tag = "REFRESCAR"
'Resto del Código
Pues se supone entonces, que si se hace Click en el Menú Refrescar, el Tag tendría el valor "REFRESCAR" con lo que el bucle mostrará nuevamente el Menú, pero si se hace Click en cualquier otro Menú, el valor será Nulo, con lo que terminará el Bucle...