Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: aaronduran2 en 11 Agosto 2008, 17:32 PM

Título: Establecer un formulario base en un UserControl
Publicado por: aaronduran2 en 11 Agosto 2008, 17:32 PM
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.
Título: Re: Establecer un formulario base en un UserControl
Publicado por: cobein en 11 Agosto 2008, 18:08 PM
Asi podes obtener el handle de la ventana

Debug.Print GetAncestor(UserControl.ContainerHwnd, GA_ROOTOWNER)

de ahi en mas podes usar apis
Título: Re: Establecer un formulario base en un UserControl
Publicado por: seba123neo en 11 Agosto 2008, 18:14 PM
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.
Título: Re: Establecer un formulario base en un UserControl
Publicado por: thejuanker en 11 Agosto 2008, 18:42 PM
Property Get frm() As Form
    Set frm = Extender.Parent
End Property
Título: Re: Establecer un formulario base en un UserControl
Publicado por: cobein en 11 Agosto 2008, 18:48 PM
JIJI simple y al pie seba! =)
Título: Re: Establecer un formulario base en un UserControl
Publicado por: aaronduran2 en 11 Agosto 2008, 20:42 PM
Gracias, me funcionaron los tres métodos.

Saludos.