Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ciruit en 27 Diciembre 2005, 20:49 pm



Título: Mover un form al lado de otro.
Publicado por: ciruit en 27 Diciembre 2005, 20:49 pm
Buenas.
Tengo un form con la posición centralizada en Owner.
Lo que quiero hacer es que al apretar un botón dentro de un form... aparezca otro form que se encuentra dentro del proyecto al lado derecho de el form principal y que todo junto se centralize nuevamente.

Además ¿como podría coordinarlos para que al minimizar uno de los dos o al cerrar lo hagan en conunto?

Gracias.


Título: Re: Mover un form al lado de otro.
Publicado por: c0rrupt_gamer en 27 Diciembre 2005, 21:37 pm
Citar
¿como podría coordinarlos para que al minimizar uno de los dos o al cerrar lo hagan en conunto?

Lo de minimizarlos a la vez o cerrarlos es facil

Código:
Private Sub Command1_Click()
' pa lo de minimizarlos
Form1.WindowState = 1
Form2.WindowState = 1
End Sub

Private Sub Command2_Click()
' pa lo de cerrarlos
Unload Form2
Unload Me
End Sub


Título: Re: Mover un form al lado de otro.
Publicado por: Gangrel en 28 Diciembre 2005, 02:01 am
Ok tenemos 2 Forms: form1 y form2 al iniciar el proyecto se centraliza en la pantalla en form1 el cual tiene un boton que al precionarlo se mostrara el form2 al lado del form1 y los dos se centraran en la pantalla. Ademas al minimizar uno automaticamente se minimizara el otro e igual al cerrar alguno.

Codigo del Form1
Código:
'al precionar el boton para mostrar el form2
Private Sub Command1_Click()
Form2.Show
Me.Left = Me.Left - (Me.Width / 2)
End Sub

'al minimar o maximizar
Private Sub Form_Resize()
If (Form1.WindowState = 1 And Form2.WindowState <> 1) Then
    Form2.WindowState = 1
End If
If (Form1.WindowState = 0 And Form2.WindowState <> 0) Then
    Form2.WindowState = 0
End If
End Sub

'al cerrar el formulario
Private Sub Form_Unload(Cancel As Integer)
Unload Form2
End Sub

Codigo del Form2
Código:
'al cargar este formulario se pone a la derecha del form1
Private Sub Form_Load()
Me.Top = Form1.Top
Me.Left = Form1.Left + (Form1.Width / 2)
End Sub

'al minimizar o maximizar
Private Sub Form_Resize()
If (Form2.WindowState = 1 And Form1.WindowState <> 1) Then
    Form1.WindowState = 1
End If
If (Form2.WindowState = 0 And Form1.WindowState <> 0) Then
    Form1.WindowState = 0
End If
End Sub

'al cerrar el formulario
Private Sub Form_Unload(Cancel As Integer)
Unload Form1
End Sub

Estos codigos actuan al dar click en el boton de la barra de titulo de minimizar o cerrar e incluso al dar click en la barra del windows para minimizar o restaurar o cerrar.


Título: Re: Mover un form al lado de otro.
Publicado por: ciruit en 28 Diciembre 2005, 17:24 pm
Buen code man.
Simple y efectivo ;D
Gracias.