galaxy2009
Messages postés144Date d'inscriptiondimanche 24 avril 2011StatutMembreDernière intervention16 juin 2016
-
25 nov. 2013 à 14:23
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 2019
-
25 nov. 2013 à 22:05
Bonjour,
je développe avec vb2010 sup un pc portable avec windows7 et un écran 15.6, mon problème c'est quand j'exécute mon programme sur une autre version par exemple Windows pack2 avec un écran différent du mien :
1- les polices s'affichent différemment (taille plus grande).
2- les forms ne s'affichent pas dans leur taille réelle(plus grande que la taille de l'écran).
alors ma question c'est comment je peux adapter mon programme sur n'importe quel PC où il est exécuté.
merci pour votre aide parce que vraiment c'est embêtant.
cs_ShayW
Messages postés3253Date d'inscriptionjeudi 26 novembre 2009StatutMembreDernière intervention 3 décembre 201957 25 nov. 2013 à 17:23
Bonjour
les polices s'affichent différemment (taille plus grande).
en fait la police ne change pas mais comme la résolution de l'autre
pc est différent du tien la taille change
la taille,les polices sont mesurés en pixel et comme le nombre de pixels dépend de la résolution donc plus la résolution augmente
le nombre de pixel augmente aussi ce qui mene à un pixel de petite taille
si tu écris textbox1.font = new font("arial",14)
dans l'autre pc c'est toujours arial 14 mais paraitra plus grand ou
plus petit selon la résolution
' This call is required by the Windows Form Designer. InitializeComponent() Dim ratio As Double = My.Computer.Screen.Bounds.Width / 1024 'remplace s'il faut 1024 par la résolution largeur de ton écran Me.Width = Convert.ToInt32(Me.Size.Width * ratio) Me.Height = Convert.ToInt32(Me.Size.Height * ratio) For Each ctrl As Control In Me.Controls ctrl.Font = New Font(ctrl.Font.Name, Convert.ToInt32(ctrl.Font.Size * ratio), ctrl.Font.Style) ctrl.Width = Convert.ToInt32(ctrl.Width * ratio) ctrl.Height = Convert.ToInt32(ctrl.Height * ratio) ctrl.Location = New Point(Convert.ToInt32(ctrl.Left * ratio), Convert.ToInt32(ctrl.Top * ratio)) Next ' Add any initialization after the InitializeComponent() call.