Procedimiento para colocar y cambiar el tamaño de un formulario (Windows Forms para .NET)
Cuando se crea un formulario, el tamaño y la ubicación se establecen inicialmente en un valor predeterminado. El tamaño predeterminado de un formulario suele ser un ancho y un alto de 800x500 píxeles. La ubicación inicial, cuando se muestra el formulario, depende de diferentes valores.
Puede cambiar el tamaño de un formulario en tiempo de diseño con Visual Studio y en tiempo de ejecución mediante código.
Cambio de tamaño con el diseñador
Después de agregar un formulario nuevo al proyecto, su tamaño se establece de dos maneras diferentes. En primer lugar, se puede establecer con los controles de tamaño del diseñador. Al arrastrar el borde derecho, el inferior o la esquina, puede cambiar el tamaño del formulario.
La segunda manera de cambiar el tamaño del formulario mientras el diseñador está abierto es a través del panel de propiedades. Seleccione el formulario y, después, busque el panel Propiedades en Visual Studio. Desplácese hacia abajo hasta tamaño y expándala. Puede establecer manualmente el Ancho y el Alto.
Cambio del tamaño en el código
Aunque el diseñador establece el tamaño inicial de un formulario, puede cambiarlo a través del código. El uso de código para cambiar el tamaño de un formulario resulta útil cuando algo sobre la aplicación determina que el tamaño predeterminado del formulario es insuficiente.
Para cambiar el tamaño de un formulario, cambie Size, que representa el ancho y el alto del formulario.
Cambio de tamaño del formulario actual
Puede cambiar el tamaño del formulario actual siempre que el código se ejecute en el contexto del formulario. Por ejemplo, si tiene Form1
con un botón que, al hacer clic en él se invoca el controlador de eventos Click
para cambiar el tamaño del formulario:
private void button1_Click(object sender, EventArgs e) =>
Size = new Size(250, 200);
Private Sub Button1_Click(sender As Object, e As EventArgs)
Size = New Drawing.Size(250, 200)
End Sub
Cambio de tamaño de otro formulario
Puede cambiar el tamaño de otro formulario después de crearlo mediante la variable que hace referencia al formulario. Por ejemplo, imagine que tiene dos formularios, Form1
(el formulario de inicio de este ejemplo) y Form2
. Form1
tiene un botón que, cuando se hace clic en él, invoca el evento Click
. El controlador de este evento crea una instancia del formulario Form2
, establece el tamaño y, después lo muestra:
private void button1_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
form.Size = new Size(250, 200);
form.Show();
}
Private Sub Button1_Click(sender As Object, e As EventArgs)
Dim form = New Form2 With {
.Size = New Drawing.Size(250, 200)
}
form.Show()
End Sub
Si no se establece manualmente Size
, el tamaño predeterminado del formulario es el que se haya establecido en tiempo de diseño.
Colocación con el diseñador
Cuando se crea y se muestra una instancia de formulario, la propiedad StartPosition determina su ubicación inicial. La propiedad Location contiene la ubicación actual del formulario. Las dos propiedades se pueden establecer a través del diseñador.
Enumeración FormStartPosition | Descripción |
---|---|
CenterParent | El formulario está centrado en los límites de su formulario principal. |
CenterScreen | El formulario está centrado en la pantalla actual. |
Manual | La posición del formulario viene determinada por la propiedad Ubicación. |
WindowsDefaultBounds | El formulario se coloca en la ubicación predeterminada de Windows y se cambia de tamaño al tamaño predeterminado determinado por Windows. |
WindowsDefaultLocation | El formulario se coloca en la ubicación predeterminada de Windows y no se cambia de tamaño. |
El valor CenterParent solo funciona con formularios de tipo secundario de interfaz de múltiples documentos (MDI), o bien un formulario normal que se muestra con el método ShowDialog. CenterParent
no tiene ningún efecto en un formulario normal que se muestra con el método Show. Para centrar un formulario (la variable form
) en otro (la variable parentForm
), use el código siguiente:
form.StartPosition = FormStartPosition.Manual;
form.Location = new Point(parentForm.Width / 2 - form.Width / 2 + parentForm.Location.X,
parentForm.Height / 2 - form.Height / 2 + parentForm.Location.Y);
form.Show();
form.StartPosition = Windows.Forms.FormStartPosition.CenterParent.Manual
form.Location = New Drawing.Point(parentForm.Width / 2 - form.Width / 2 + parentForm.Location.X,
parentForm.Height / 2 - form.Height / 2 + parentForm.Location.Y)
form.Show()
Colocación mediante código
Aunque se puede usar el diseñador para establecer la ubicación inicial de un formulario, se puede utilizar código para cambiar el modo de posición inicial o establecer la ubicación manualmente. El uso de código para colocar un formulario es útil si necesita colocar manualmente y cambiar el tamaño de un formulario con respecto a la pantalla u otros formularios.
Desplazamiento del formulario actual
Puede desplazar el formulario actual siempre que el código se ejecute en el contexto del formulario. Por ejemplo, si tiene Form1
con un botón que, al hacer clic en él, se invoca el controlador de eventos Click
. En este ejemplo, el controlador cambia la ubicación del formulario a la parte superior izquierda de la pantalla mediante el establecimiento de la propiedad Location:
private void button1_Click(object sender, EventArgs e) =>
Location = new Point(0, 0);
Private Sub Button1_Click(sender As Object, e As EventArgs)
Location = New Drawing.Point(0, 0)
End Sub
Colocación de otro formulario
Puede cambiar la ubicación de otro formulario después de crearlo mediante la variable que hace referencia al formulario. Por ejemplo, imagine que tiene dos formularios, Form1
(el formulario de inicio de este ejemplo) y Form2
. Form1
tiene un botón que, cuando se hace clic en él, invoca el evento Click
. El controlador de este evento crea una instancia del formulario Form2
y establece la ubicación:
private void button1_Click(object sender, EventArgs e)
{
Form2 form = new Form2();
form.Location = new Point(0, 0);
form.Show();
}
Private Sub Button1_Click(sender As Object, e As EventArgs)
Dim form = New Form2 With {
.Location = New Drawing.Point(0, 0)
}
form.Show()
End Sub
Si no se establece Location
, la posición predeterminada del formulario se basa en lo que se estableció la propiedad StartPosition
en tiempo de diseño.
Vea también
.NET Desktop feedback