Bonjour à tous,
Je souhaites redimensionner dynamiquement les contrôles qui figurent sur mon formulaire principale quant celui-ci est redimensionné.
Comment y procéder?
Merci d'avance pour votre aide.
Gilus
Bonjour à tous,
Je souhaites redimensionner dynamiquement les contrôles qui figurent sur mon formulaire principale quant celui-ci est redimensionné.
Comment y procéder?
Merci d'avance pour votre aide.
Gilus
Bonjour,
Si je me souviens bien.
Il vous suffit de gérer différent panel dans votre form avec un différent Dock
Vous permettra de dire que votre panel prendra toujours la taille de son contrôle parent. (votre form par exemple).
Code : Sélectionner tout - Visualiser dans une fenêtre à part MonPanel.Dock = DockStyle.Fill
Ensuite vous jouez avec vos différents contrôles et leur dock (pensez à mettre du premier plan ou arrière plan afin de choisir qui à la priorité.)
Voila pour ce qui est des différentes parties de la forme.
A voir comment gérer les contrôles enfant (textebox and co).
Je vous conseille également de mettre une taille minimum à votre form.
A+
Bonjour,
Le mieux en .NET, de mon point de vue est d'utiliser un ou plusieurs TableLayoutPanel.
C'est un contrôle transparent qui correspond à un tableau où tu peux y mettre x colonnes et x lignes.
Tu mets ce contrôle en Dock=Fill sut ta form pour qu'il remplisse tout l'espace (ou sur une partie, dans un panel par exemple)
Après tu mets tes contrôles, un par case, et eux même, tu mettre leur Dock à Fill pour qu'il remplisse leur case.
Le résultat de tout ça, c'est que lorsque tu redimensionnes ta Form, la TableLayout Panel va garder ses proportion en se redimensionnant, et va redimensionner tout les contrôles qui remplissent leur case.
Ca demande un peu de pratiques et de petites astuces pour avoir exactement le rendu qu'on veut, mais une fois qu'on a compris on peut tout faire.
Comme astuces il y a par exemple :
- les colonnes (ou les lignes) peuvent avoir une taille fixe ou en pourcentage.
Donc par exemple, tu peux avoir une ligne fixe au dessus pour mettre un menu, et une ligne qui fait 100% du reste en dessous.
Ainsi quand tu redimensionnes ta form, seul la partie basse va se redimensionner.
- Un control peut occuper l'espace de plusieurs ligne et plusieurs colonnes (RowSPan et ColumnSpan)
- tu peux indiquer la taille minimum du TableLayoutPanel, se sera la limite que l'utilisateur ne pourra pas dépasser.
Voilà voilà.
L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)
Merci Mactwist pour avoir attiré mon attention sur le TableLayoutPanel. C'est formidable ce contrôle
Kropernic
Pour moi, ça a été une révolution.
Il est un peu pénible des fois, quand on déplace les contrôles (il vaut mieux enlever le Dock=Fill du contrôle)
Il vaut mieux aussi que le tablelayout panel soit "le fond entier" de la form.
Car on pourrait vouloir mettre un panel en haut et en bas et un TableLayoutPanel au milieu, mais il faudra jouer avec les positions verticales (Top etc...), sinon il passe en dessous ou au dessus des autres controles etc... Il vaut mieux créer une ligne en plus en haut et en bas, et remlir la ligne par les panels.
Pour rendre plus jolie aussi, on peu supprimer les marges automatiques (ça peut aider).
Et quoi qu'il en soit, il faut toujours qu'au minimum une colonne et une ligne aient leurs dimensions en % et non en dur. Sinon plus d'intérêt.
Ah oui et aussi quand on gère les tailles en %, il ne recalcule pas les % à la volée, seulement quand on sauvegarde.
Donc si on mets 80% sur la première ligne puis 50% sur la deuxième, il accepte et recalcule,quand on revient, se sera 65% et 35% pour faire 100%.
Du coup... si on veut trois lignes avec les même pourcentages, il suffit de mettre 50% dans chacune d'elles, et c'est bon. Quand on revient, il y aura 33.33 dans chacune d'elle. (Ca évite de se prendre la tête pour rien.)
L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager