Redimensionnement form controls

Résolu
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 2 mars 2005 à 14:44
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 2 mars 2005 à 15:40
Bonjour,


J'aimerais que quand je redimensionne ma form, les controls qui se trouvent dedans se redimmensionne avec. En faite il faudrait qq chose de simple et de rapide si possible. J'ai vu qu'il y avait l'evement resize de la classe Form, peut etre qu'il y a moyen de faire qq chose avec ca.

Par avance, merci.

8 réponses

TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
2 mars 2005 à 14:56
Il y a les propriété Anchor qui servent a çà

::|The S@ib|::
MVP C#.NET
3
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
2 mars 2005 à 15:13
Les anchors servent a "ancrer" les bordures de tes controles aux bordures de leurs containeur.

Ansi si tu ancre un controle au bord droit et que tu elargis ta fenetre ton contrôle en fera autant.

::|The S@ib|::
MVP C#.NET
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
2 mars 2005 à 15:16
Pour le Anchor, c'est simple, si pour ton tabComntrol tu mets les
propriétés de Anchor a Bottom, Left,Top et Right, il se resizera avec
ta Form quand tu modifieras la taille depuis tous les cotés de celle ci

Mx
3
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
2 mars 2005 à 14:55
Alors pour ton petit problème, tu l'as dit toi même : tu peux faire quelque chose avec l'événement Resize de la form.



Moi, je ferais comme ceci :



tu prend la largeur de l'ancienne form puis tu cherche le facteur de chaque largeur de chaques éléments de l'ancienne.



Ancien_élément.Size.Width = Form_Ancienne.Size.Width * Facteur_proportionnel



Ainsi de suite avec la hauteur de chaque élément et aussi leurs positions par rapport au bord gauche et au haut de la form.



Ainsi, tu aura le facteur proportionnel de chaque élément et tu pourras
alors calculer leurs dimensions et leur place en fonction de la
nouvelle taille.



C'est une méthode qui marche mais assez longue à implémenter. Vive le
copier/coller. Je te propose cette solution mais peut être et surement
existe -t-il quelque chose de mieux

Billou_13
Bask En Force
0

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

Posez votre question
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
2 mars 2005 à 15:09
merci de vos réponses, je pensais faire un truc comme ca :
C'est du c++.net mais c'est presque pareil que le c#. -> = .

private: System::Void Form1_Resize(System::Object * sender, System::EventArgs * e)


{



int largeur =
this->Width ;



int longueur =
this->Height ;


// longueur_origine, longueur d'origine de la Form
tabControl1->Height = tabControl1->Height + longueur - longueur_origine ;


}

Ca marche pas super pour le moment mais c'est en cours. Par contre je vois pas le rapport avec anchor si tu pouvais developper Thesaib . Et connaitriez vous un moyen d'eviter les scintillement du à l'affichage succesif ?
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
2 mars 2005 à 15:15
oki, autant pour moi pour ma solution a l'arrache, je pense que celle de TheSaib doit être plus jolie

Billou_13
Bask En Force
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
2 mars 2005 à 15:26
merci de vos réponse, ca marche mais le seul problème qui reste c'est que j'ai 5 boutons + un listview et deux textBox côte à côte et ils ont un peut tendance à se rentrer dedans si bien que quand ma form est agrandis à fond ca ressemble à un tableau de picasso. Si qq avait la solution...
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
2 mars 2005 à 15:40
c'est bon ca marche, c'est parceque j'avais mis top left etc...sur tout comme un bourrin. thanks
0
Rejoignez-nous