La Web del Programador: Comunidad de Programadores
 
    Pregunta:  49295 - COMO LLAMAR UNA FUNCION DEL MDIPARENT DESDE EL MDICHILD
Autor:  Luis Stanley Chaves Jimenez
lo que necesito hacer es que el mdichild llame a una funcion que se creo en el mdiparent y que es crucial que solo este formulario tenga, para ponerlo mas sencillo necesito que el child invoque una funcion especial del parent a la hora de que el child es minimizado, pero dicha funcion solo esta en el parent, si alguien me puede ayudar se los agradecere.

  Respuesta:  James Hinney
Recordemos que cada MdiChild debe tener un MdiParent y debemos definirlo asi
<nombreform>.MdiParent = Me

La propiedad MdiParernt es de tipo Form, asi que solo miembros de la misma clase pueden accesar sus metodos. Para que los miembros de la clase puedan accesar los metodos debes de crear una llamada directa. Digamos que tu MdiParent se llama <ParentForm> y tiene un metodo publico llamado <ParentMethod>. Para llamarlo desde un Child usas esto

DirectCast(Me.MdiParent, <ParentForm>).ParentMethod()

Si vas a usar esa referencia a menudo deberias declarar una variable miembro en el Child del tipo apropiado para que solo lo llames una vez

Private myParentForm As ParentForm

Private Sub ChildForm_Load(...) Handles MyBase.Load
Me.myParentForm = DirectCast(Me.MdiParent, <ParentForm>)
Me.myParentForm.ParentMethod()
End Sub