“Conocimiento Programación>Visual Basics Programación

Cómo crear un marco independiente de resolución en VB.NET

2015/9/7
. 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

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 ) + _

" 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 .

Visual Basics Programación
Función Texto en VBA
Cómo quitar mediante programación Imágenes Desde DataGrid
Vs fijo . Matriz dinámica en Visual Basic
Tutorial Visual Basic para Windows 7
Cómo hacer que Visual Basic que apaga el equipo
Cómo depurar en Visual Studio NET
Propiedades comunes entre una casilla de verificación y botón de opción en Visual Basic
Sobrecarga de Métodos en Visual Basic
Conocimiento de la computadora © http://www.ordenador.online