Establecer un formulario base en un UserControl

Iniciado por aaronduran2, 11 Agosto 2008, 17:32 PM

0 Miembros y 1 Visitante están viendo este tema.

aaronduran2

Hola. Quisiera saber como crear una propiedad en un UserControl en la que se establezca un form. Me explico: estoy haciendo un UserControl que simula una barra de título, y lo que quiero es que al hacer click en el icono de cerrar, se cierre el formulario en el que está el UserControl. Para ello necesito una propiedad en la que se establezca cuál es el form en el que está el UserControl y lo cierre. Lo he intentado pero no soy capaz. ¿Alguien puede ayudarme?

Gracias de antemano.

cobein

Asi podes obtener el handle de la ventana

Debug.Print GetAncestor(UserControl.ContainerHwnd, GA_ROOTOWNER)

de ahi en mas podes usar apis
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

seba123neo

Hola, se me ocurre algo asi:

Código (vb) [Seleccionar]
Option Explicit

Private WithEvents f As Form

Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
If Ambient.UserMode Then
Set f = UserControl.Parent
End If
End Sub

Private Sub UserControl_Terminate()
If Not f Is Nothing Then
Set f = Nothing
End If
End Sub

Private Sub UserControl_Click()
Unload f
End Sub


saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

thejuanker

Property Get frm() As Form
    Set frm = Extender.Parent
End Property

cobein

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

aaronduran2

Gracias, me funcionaron los tres métodos.

Saludos.