. Visual Basic NET o VB.NET, es un lenguaje de programación de computadoras implementado en el NET Framework . . Usted puede utilizar VB.NET para crear formas complejas . Sin embargo , un formulario creado para la resolución VGA estándar ( 640 x 480 ) tiene sólo una parte de la pantalla con una resolución más alta. Aunque esto es normal, es posible que desee la forma de tener un tamaño y una posición proporcional a la resolución. Estas formas se llaman marcos independientes de la resolución , y son relativamente fáciles de crear. Cosas que necesitará
Visual Basic, cualquier versión
Ver Más instrucciones
1
Haga clic en cualquier lugar del escritorio y seleccione "Propiedades ". Vaya a la pestaña " Configuración" y cambiar la resolución de pantalla a " 800 x 600 ". Usted usará este pequeño resolución para crear el marco independiente de la resolución .
2
Abra Visual Studio y comenzar un proyecto nuevo. La forma " Form1 " se crea automáticamente
3
Ir al módulo del formulario y pega el código para hacer la forma de resolución independiente : .
Opción
explícita
MyForm As FRMSIZE
DesignX Dim As Integer Dim
designy As Integer
Private Sub Form_Load ( )
ScaleFactorX Dim As Single , ScaleFactorY " Los factores de escala
' Como único tamaño de la forma en píxeles en el diseño de resolución
DesignX = 800 €
designy = 600 €
RePosForm Flag = verdadero ' para posicionamiento Formulario
doResize = ' Marcar para eventos Resize
' Falso Configurar la pantalla valora
Xtwips = Screen.TwipsPerPixelX
Ytwips = Screen.TwipsPerPixelY
Ypixels = Screen.Height /Ytwips 'Y pixel Resolución
Xpixels = screen.width /Xtwips ' X píxeles Resolución
' Determinar los factores de escala
ScaleFactorX = ( Xpixels /DesignX )
ScaleFactorY = ( Ypixels /designy )
ScaleMode descomentar = 1 ' twips
' Exit Sub ' para ver cómo se ve Form1 sin redimensionar
Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me
Label1.Caption = " resolución actual es" & Str $ ( Xpixels ) + _
" por " + Str $ ( Ypixels )
MyForm.Height = Me.Height ' Acuérdate del tamaño actual
MyForm.Width = Me.Width
End Sub
Form_Resize Sub Private ()
ScaleFactorX Dim As Single , ScaleFactorY As Single
Si No doResize Entonces ' Para evitar bucle infinito
doResize = True
Exit Sub
< p > End If
RePosForm = False
ScaleFactorX = Me.Width /MyForm.Width ' ¿Cuánto cambio ?
ScaleFactorY = Me.Height /MyForm.Height
Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me
MyForm.Height = Me.Height ' recordar el tamaño actual
MyForm.Width = Me.Width
End Sub < br >
Private Sub Command1_Click ()
ScaleFactorX Dim As Single , ScaleFactorY As Single
DesignX = Xpixels
designy = Ypixels
RePosForm = True
doResize = False
' Configurar la pantalla valora
Xtwips = Screen.TwipsPerPixelX
Ytwips = Screen.TwipsPerPixelY
Ypixels = Screen.Height /Ytwips 'Y pixel Resolución
Xpixels = screen.width /Xtwips ' X píxeles Resolución
' Determinar los factores de escala
ScaleFactorX = ( Xpixels /DesignX )
ScaleFactorY = ( Ypixels /designy )
Resize_For_Resolution ScaleFactorX , ScaleFactorY , Me
Label1.Caption = " resolución actual es" & Str $ ( Xpixels ) + _ < br >
" por " + Str $ ( Ypixels )
MyForm.Height = Me.Height ' Acuérdate del tamaño actual
MyForm.Width = Me.Width
End Sub
4
Agregar todos los controles que desea probar en el formulario. Puede agregar etiquetas , botones de comandos y cuadros de imagen . Debe hacer esto para probar si todos los elementos de su formulario ajustan su tamaño correctamente.
5
Ir al menú "Proyecto" y seleccione " Agregar módulo .... " Haga clic en " Add" para añadir el nuevo módulo al proyecto
6
Ir al nuevo módulo y pega el código para ajustar automáticamente las proporciones de la forma en relación con la resolución de la pantalla: .
< p > Xtwips Públicas As Integer , Ytwips As Integer
Xpixels Públicas As Integer , Ypixels As Integer
Tipo FRMSIZE
Altura As Long
ancho como de largo
Tipo de terminación de
RePosForm Pública As Boolean
doResize Pública As Boolean
Sub Resize_For_Resolution ( ByVal SFX As Single , _ ByVal
SFY As Single , MyForm como formulario )
Dim I As Integer
SFFont Dim As Single
SFFont = ( SFX + SFY ) /2 'normal
escala < p> 'Tamaño de los controles para la nueva resolución
On Error Resume Next' de sólo lectura o inexistentes propiedades en
MyForm
para i = 0 a contar. - 1
Si TypeOf . Controls ( I) Es ComboBox Entonces "no se puede cambiar la altura de
. Controls ( I). Izquierda = . Controles ( I). Izquierda * SFX
. Controles ( I) . = Top . Controles ( I) . Arriba * SFY
. Controles ( I). Ancho = . Controles ( I). Ancho * SFX
demás
Controles
. ( I) . Mover. Controles ( I) . restantes * SFX , _
. Controles ( I) . Arriba * SFY , _
. Controles ( I) . Ancho * SFX , _
. Controles ( I) . Altura * SFY
End If cambiar tamaño
' y volver a colocar antes de cambiar el FontSize
. Controles ( I) . FontSize = . Controles ( I) . FontSize * SFFont
Siguiente I Love
Si RePosForm Entonces
' Ahora el tamaño del formulario
. Mover . Left * SFX . Arriba * SFY , . Ancho * SFX . Altura * SFY
End If
End With End Sub
7
prueba tu nueva forma de ejecutarlo en diferentes resoluciones de pantalla. Se debe tomar la misma área de escritorio y mantener su posición .