Redimensionnement proportionnel

Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008 - 10 juil. 2008 à 20:37
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 - 11 juil. 2008 à 23:04
Bonjour à tous,
Comment redimensionner des contrôles proportionnellement à la taille de la fenêtre ?
Je m'explique : Dans ma form j'ai deux groupbox. Pour garder des marges constantes j'utilise la propriété anchor. Mais pour les groupbox ça ne marche que partiellement. Comme les marges restent constantes, la groupbox de gauche garde la même taille en largeur peu importe la taille totale de la fenêtre, tandis que celle de droite a une trés largeur que varie en fonction de la taille totale de la fenêtre.
J'ai cru comprendre dans d'autres messages qu'il fallait utiliser
Private
Sub Form1_Resize()

Mais je ne sais pas quoi mettre comme formule pour garder la proportionnalité entre les groupbox.

Comment faire pour que les deux groupbox aient la même taille et que la somme des deux soit égale à la taille totale de la fenêtre ?
Merci d'avance

8 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
10 juil. 2008 à 20:47
salut,

je ne vais pas beaucoup t'aider car je ne programme pas en dot net, mais regarde ma source VB6 et essaie de la retranscrire en vb.Net

http://www.vbfrance.com/codes/METHODE-ZOOM-SUR-FORM-CONTROLES_40519.aspx

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
10 juil. 2008 à 22:11
Dans l'évènement Form_Resize, tu commence par calculer ta place disponible pour afficher les 2 GroupBox. Il s'agit par exemple de la taile de la fenêtre - les marges. Un truc du genre:
Dim DisponibleWitdh As Integer = Me.Width - 20
Ensuite, tu partage cette place disponible pour les 2 GroupBox et tu place la 2ème GroupBox au bon endroit:
GroupBox1.Width = DisponibleWitdh / 2
GroupBox2.Width = DisponibleWitdh / 2
GroupBox2.Left = DisponibleWitdh / 2
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
10 juil. 2008 à 22:48
Juèste une questioon toute bêrte :

Tu développes bien sous VB.Net (la présente section) ???
0
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
10 juil. 2008 à 23:31
[auteur/JMFMARQUES/615490.aspx jmfmarques] ---> oui



[auteur/KEVINORY/183467.aspx Kevin.Ory] ---> j'ai bidouillé avec des maths et c'est bon par contre, j'ai encore un truc bizarre ! (Comme d'hab)
J'ai placé tout ça dans
Private Sub Form1_Resize
Donc j'ai fait quelques tests:
1) Je lance l'appli en taille normale. Tout va bien
2) Je clique sur l'icone en haut à droite pour maximiser la fenêtre, et là lorsque je me balade dans mes tabpage, je m'apperçois que seule la tabpage qui était active lors du redimensionnement a les bonnes dimenions. Je reclique donc sur l'icone pour repasser en mode normal et je remaximise (toujours avec le même icone). Et là miracle, toutes les groupbox des toutes les tabpages ont les bonnes dimensions !?
Avez vous une idée ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 juil. 2008 à 10:46
si ton truc a besoin de 2 resize pour fonctionner alors









Call

Form1_Resize(sender, e)
0
Marneus73 Messages postés 344 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 27 octobre 2008
11 juil. 2008 à 20:22
Mais je n'utilise pas :
Call Form1_Resize

J'ai juste un pb avec différentes tabpages qui contiennent des contrôles qui ne se redimensionnent pas tous lors de l'agrandissement de la fenêtre ! Seul les contrôles de la tabpage active sont redimensionnée correctement, les autres sont hors sujet. Pour les voir correctement, je dois agrandir, rétrécir et réagrandir ? Normal ?
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 juil. 2008 à 20:35
je me suis toujours demandé si les logiciels que j'utilises sont normaux!


il y a des tas de choses anormales, mais on finit par s'y faire ce que je te dis c'est juste Call Form1_Resize(sender, e)
comme ça puisque tes contrôles ont besoin de 2 resize pour être à la bonne taille ben quand tu as fini ton resize tu Call Form1_Resize(sender, e)
basta
0
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
11 juil. 2008 à 23:04
"Je clique sur l'icone en haut à droite pour maximiser la fenêtre, et
là lorsque je me balade dans mes tabpage, je m'apperçois que seule la
tabpage qui était active lors du redimensionnement a les bonnes
dimenions. Je reclique donc sur l'icone pour repasser en mode normal et
je remaximise (toujours avec le même icone). Et là miracle, toutes les
groupbox des toutes les tabpages ont les bonnes dimensions !?


Avez vous une idée ?"

Sans doute parce que tes TabPages ne sont pas encore chargé lorsque tu places les éléments. Ensuite, la page se charge et les éléments ne sont pas au bon endroit.
Essaie de placer tes éléments dans l'évènement Resize (ou SizeChanged) de tes TabPages, et non de ton formulaire principal.
0
Rejoignez-nous