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.
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 #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
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.
trabaja en el mismo formulario escondiendo los controles. o usa un tabcontrol.