Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Dreamcacher en 25 Enero 2012, 00:43 am



Título: Modificar MDI desde un Child (vb.net 2003)
Publicado por: Dreamcacher en 25 Enero 2012, 00:43 am
Bueno, pues la cuestion es que estoy haciendo un proyecto para el final del curso, y tal y como lo he planteado, necesito que desde un fomulario que esta definido como child (form2) modifique las propiedades de 3 botones que contiene un MainMenu de el formulario principal (form1), el problema es que aunque el código es correcto, parece que no funciona por que un child no puede modificar un parent.

Haber si podéis ayudarme, porque no consigo hacer que funcione de ninguna manera...

Gracias!!

EDIT:Acabo de darme cuenta de que teníamos foro de .Net... esto me pasa por no mirar bien, y usar solo el de PHP...

EDIT 2:

Aqui os dejo el codigo, que si creo un formulario independiente, sin parent ni nada funciona, pero no si esta en el child, el codigo se encuentra en un modulo

Código
  1.    Public Sub Activar()
  2.        If Admin = True Then
  3.            vform1.menuAltas.Visible = True
  4.            vform1.menuBajas.Visible = True
  5.        End If
  6.        vform1.menuListados.Visible = True
  7.    End Sub


Título: Re: Modificar MDI desde un Child (vb.net 2003)
Publicado por: BlackZeroX en 25 Enero 2012, 02:27 am
this->Parent();

Dulces Lunas!¡.


Título: Re: Modificar MDI desde un Child (vb.net 2003)
Publicado por: Dreamcacher en 25 Enero 2012, 18:08 pm
al final he conesguido solucionarlo

Código
  1.        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  2.        Me.WindowState = 2
  3.        vform3.MdiParent = Me
  4.        vform2.MdiParent = Me
  5.        vform2.Show()
  6.        'vform3.Show()
  7.  
  8.    End Sub
  9.  

pero he creado una segunda variable , y lo he dejado asi, y asi si funciona

Código
  1.    Public Sub Activar()
  2.        Dim mdi As New Form1
  3.        mdi = Me.MdiParent
  4.        If Admin = True Then
  5.            mdi.menuAltas.Visible = True
  6.            mdi.menuMod.Visible = True
  7.        End If
  8.        mdi.menuListados.Visible = True
  9.        mdi.menuLogout.Visible = True
  10.    End Sub