Visual Basic 2008 Duda Ventanas

Iniciado por Anonymatrix, 20 Marzo 2013, 17:10 PM

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

Anonymatrix

Digamos que tengo 2 ventanas, Form1 y Form2.

En Form1 hay 1 botón llamado Botón1 y en Form2 hay 1 botón llamado Botón2.

Al abrir Form1 y apretar Botón1 la ventana Form1 se cierra y se abre Form2:

Me.Hide()
Form2.Show()

El problema es que quiero que cuando se abra Form2 aparezca en las mismas coordenadas, en la misma posición en la que se encontraba Form1 antes de cerrarse.

Y si muevo Form2 cliqueándolo y arrastrándolo hasta otra posición en la pantalla del pc, que al apretar Botón2, Form1 aparezca en la misma posición en la que se encontraba Form2 antes de cerrarse.
ola k ase

Eleкtro

Aquí posteé una función para hacerlo: http://foro.elhacker.net/net/libreria_de_snippets_posteen_aqui_sus_snippets-t378770.0.html;msg1817291#msg1817291

Citar
Código (vbnet) [Seleccionar]
    #Region " CenterForm function "
     
       Function CenterForm(ByVal Form_to_Center As Form, ByVal Form_Location As Point) As Point
           Dim FormLocation As New Point
           FormLocation.X = (Me.Left + (Me.Width - Form_to_Center.Width) / 2) ' set the X coordinates.
           FormLocation.Y = (Me.Top + (Me.Height - Form_to_Center.Height) / 2) ' set the Y coordinates.
           Return FormLocation ' return the Location to the Form it was called from.
       End Function
     
    #End Region
     
       ' Form2 Load
       Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
           Me.Location = Form1.centerForm(Me, Me.Location)
       End Sub
     
       ' Private Sub Button_MouseHover(sender As Object, e As EventArgs) Handles Button1.MouseHover
       '     Form2.Show()
       ' End Sub
     
       ' Private Sub Button_MouseLeave(sender As Object, e As EventArgs) Handles Button1.MouseLeave
       '     Form2.Dispose()
       ' End Sub

Saludos








Anonymatrix

#2
Puse en Form2:

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Me.Location = Form1.Location
   End Sub

Y me funcionó. Gracias por tu ayuda.



Ya que tengo otro problema y se adecua con el título del post seguiré debatiéndolo aquí por no hacer otro tema:


Cuado cierro Form1 y se abre automáticamente Form2 se nota que cambia de ventana, ¿Hay alguna forma para que parezca que todo pertenece a la misma Form?

Al principio trabajaba con 1 sola Form y al tener muchas cosas y estar todo en 1 ventana quedaba bien pero al final tanta cosa liaba 1 poco y decidí hacerlo en varias Form, ahora me resulta más fácil mejorar el programa, sin embargo no me gusta respecto a la apariencia, se nota mucho que cambia de ventana, quiero que parezca que esta todo en la misma ventana como cuando tenia 1 sola Form.
ola k ase

Danyfirex

trabaja en el mismo formulario escondiendo los controles. o usa un tabcontrol.