Buenas tardes a todos y gracias de antemano.

Bien, tengo el siguiente problema:

Estoy haciendo una aplicacion en la cual uso un formulario MDI y a raiz de el trabajo con formularios hijos, estos formularios hijos poseen botones que llaman a otros formularios, para seguir la misma estructura del mdi y respetar su interficie, pues les asigno la propiedad de mdiparent= nombredelMDI y los posiciono dentro del MDI ademas de abrirlos como una instancia nueva.

Necesito pasar un valor de la instancia que abro al formulario del cual la abro

Boton Abrir del formulario 1
Dim F As New Formulario2
F.ShowDialog()
///Aqui se corta la ejecucion por el showdialog/// cuando termino de trabajar con el show dialog hace lo siguiente

bmbformulario1.Position = f.posicion
busquedaArt.Dispose()
//Si lo hago asi me va de maravilla (posicion = variable que me guarda la posicion seleccionada en el formulario1 "en el gridview"

//Claro el problema esta si lo hago como plantee el enunciado, es decir usando el mdi como contenedor ya que:

boton abrir del formulario1
dim f as new formulario2
formulario2.MDIPARENT=MDIPARENT1
formulario2.showdialog<<<<No se puede>>>
entonces hago
formulario2.show

///No pongo codigo como antes, ya que me lo ejecutaria asi que lo pongo en el boton cerrar del formulario2//

boton cerrar del formulario2

accedo al atributo bmb del formulario 1 a travez de las propertys
formulario1.getBMB.position=posicion

//El problema es que lo que abro son instancias, por lo cual el formulario1 me pide que lo declare como una nueva instancia ... pero si lo hago no me cambia la posicion del formulario1, es decir es como si no me hiciera nada.

bmb=bindingmanagerbase por si alguna duda.

Gracias por todo tipo de soluciones