Visual Basic.NET - Adaptar aplicaion a distintas resoluciones

   
Vista:

Adaptar aplicaion a distintas resoluciones

Publicado por Mauro (15 intervenciones) el 01/09/2008 21:27:24
Hola a Todos:
quisiera saber si hay una forma de adaptar mi aplicación a la resolución de la pantalla. Entiendo que el size del form está dado en píxeles. Se lo puede porner en valores porcentuales respecto de la pantalla maximizada? Me refiero a hacerlo no a travéz de código sino con alguna propiedad.
Saludos.
Mauro.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Adaptar aplicaion a distintas resoluciones

Publicado por Jim Miñano (44 intervenciones) el 02/09/2008 02:22:32
prueba con Scale y le das el % deseado

Saludos.

http://foros.solucionesperu.com


.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Adaptar aplicaion a distintas resoluciones

Publicado por Mauro (15 intervenciones) el 02/09/2008 18:35:29
Muchas gracias Jim!
Se ve prometedor lo que me dices.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Adaptar aplicaion a distintas resoluciones

Publicado por Mauro (15 intervenciones) el 02/09/2008 21:27:23
Hola Jim y los demás:
Estoy programando en 1024*768, pero quiero que mi aplicación se ajuste automáticamente a la resolución del equipo en que corre en un determinado momento, con la sugerencia de Jim escribí el código de más abajo, pero tengo problemas con los controles: si les dejo anchor fijo obvio no quedan en su lugar la trabajar con otra resolución, y si les quito el anchor cuando la resolución es menor no se dibujan.
Alguien tiene alguna idea?

Public Class Form1
Public Const ancho As Integer = 1024
Public Const alto As Integer = 768

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim ancho As Integer = Screen.PrimaryScreen.Bounds.Width
Dim alto As Integer = Screen.PrimaryScreen.Bounds.Height

Dim aux As Integer = 1
'indica como es la pantalla de despliegue respecto a la de programación.
If ancho > 1024 Then
If alto > 768 Then
aux = 1 'ancho mayor, alto mayor
Else
aux = 2 'ancho mayor, alto menor o igual
End If
Else
If alto > 768 Then
aux = 3 'ancho menor o igual, alto mayor
Else
aux = 4 'ancho menor o igual, alto menor o igual
End If
End If

Dim escalador As SizeF

Select Case aux
Case 1 'ancho mayor, alto mayor
escalador = New SizeF(ancho / 1024, alto / 768)
Exit Select

Case 2 'ancho mayor, alto menor o igual
escalador = New SizeF(ancho / 1024, 768 / alto)
Exit Select

Case 3 'ancho menor o igual, alto mayor
escalador = New SizeF(1024 / ancho, alto / 768)
Exit Select

Case 4 'ancho menor o igual, alto menor o igual
escalador = New SizeF(1024 / ancho, 768 / alto)
Exit Select

Case Else
Exit Select
End Select

Me.Scale(escalador)

End Sub
End Class
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Adaptar aplicaion a distintas resoluciones

Publicado por Jim Miñano (44 intervenciones) el 03/09/2008 23:36:41
el problema es que los cuadros de texto y demás controles respetan el tamaño de la fuente por lo que te recomendaría que intentes con este codigo, ponlo en un boton

Me.Font = New Font(me.font.name, me.font.size * 1024/800, me.font.style, me.font.unit)

Nos cuentas.

Saludos.

http://foros.solucionesperu.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Adaptar aplicaion a distintas resoluciones

Publicado por Mauro (15 intervenciones) el 05/09/2008 17:45:50
Gracias Jim!
apenas puedo lo pruebo y cuento que tal. Por otro lado, comento que me han sugerido usar un Groupox, y setearlo no visible.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar