Cómo cambiar el tamaño de un formulario Visual Basic para que se ajuste a la pantalla

Escrito por laura gittins | Traducido por beatriz sánchez
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo cambiar el tamaño de un formulario Visual Basic para que se ajuste a la pantalla
Aprende a programar con Visual Basic. (Jupiterimages/Brand X Pictures/Getty Images)

Cuando diseñas un formulario en Visual Basic, decide el tamaño ideal y crea el formulario de forma acorde. A menos que evites que los usuarios cambien el tamaño del formulario, debes de tener en cuenta lo que ocurre con él si un usuario cambia el tamaño de la pantalla o el aspecto que tendrá para los usuarios que tengan resoluciones de pantalla distintas a la tuya. Puedes escribir una función Sub que cambie el tamaño del formulario y sus controles y pedirla cuando lo necesites.

Nivel de dificultad:
Moderadamente fácil

Otras personas están leyendo

Instrucciones

  1. 1

    Abre tu ventana de código de proyecto. Declara una nueva función Private Sub y crea dos variables para almacenar los valores de X e Y para cambiar el tamaño:

    Private Sub ResizeForm(ByVal Form)

    Dim XSize As Integer Dim YSize As Integer

  2. 2

    Introduce las siguientes líneas, la primera para evitar un fallo de programa para los controles que no pueden ser redimensionados y la segunda para evitar que el cambio de tamaño se haga si el formulario ya está maximizado o minimizado:

    On Error Resume Next If Form.WindowState <> 0 Then Exit Sub

  3. 3

    Introduce las siguientes líneas para ajustar el origen del formulario redimensionado (la esquina superior izquierda del formulario) a la esquina superior izquierda de la pantalla, y para alargar el propio formulario:

    Me.Top = 0 Me.Left = 0 Me.Height = Me.Height * YSize Me.Width = Me.Width * XSize

  4. 4

    Introduce las siguientes líneas para pasar por los controles que están en el formulario para cambiarles el tamaño y terminar el Sub. Esto cambiará el tamaño de las alturas y anchuras de varios controles mientras mantiene su alineamiento intacto:

    For i = 0 To Me.Controls.Count - 1 Me.Controls(i).Left = Me.Controls(i).Left * XSize Me.Controls(i).Top = Me.Controls(i).Top * YSize Me.Controls(i).Height = Me.Controls(i).Height * YSize Me.Controls(i).Width = Me.Controls(i).Width * XSize Next i

    End Sub

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles