cs_fcolo
Messages postés201Date d'inscriptionmercredi 8 février 2006StatutMembreDernière intervention20 février 2007
-
26 avril 2006 à 10:47
cs_Jordan59
Messages postés174Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention 9 avril 2014
-
30 déc. 2006 à 19:51
Bonjour,
je suis en train de réaliser un controle utilisateur.
Ce controle est composé de 5 TextBoxes et 4 labels.
Il doit permettre à l'utilisateur de rentrer une adresse IP et un port.
Mon problème vient à l'utilisation des propriété anchor de mes composants.
En fait, lorsque je modifie la taille de mon contole, je voudrais que mes composants modifient également leur taille, c'est le but du anchor.
Mais je dois être trop bête car j'arrive pas à avoir ce que je souhaite, lors du rizize, tous mes composants se chevauchent.
Dons mon controle, les composants sont répartient ainsi:
TB: textBox
L: label
TB1 ; L1 ; TB2 ; L2 ; TB3 ; L3 ; TB4 ; L4 ; TB5
J'ai essayé plusieurs combinaisons de anchor mais rien n'y fait.
Quelqu'un pourrait il tester et me donner ces valeurs de anchor?
Nikoui
Messages postés794Date d'inscriptionvendredi 24 septembre 2004StatutMembreDernière intervention19 août 200811 26 avril 2006 à 11:08
Voila comment fonctionne les anchors : mettre une anchor, par exemple "en bas", signifie que le bas du composant sera toujours a la même distance du bas de son "container". >> tu augmente la hauteur du container (la form), le composant restera tout en bas de la form.
De la même facon, mettre une anchor a gauche et a dtoite signifie que les bordures gauche et droite du composant resterons respectivement à la même distance des bordures gauches et droites du container. >> Tu modifie la largeur de la form, le composant s'agrandit et diminue en fonction, chacune de ses bordure restant accrochée au bord de la form.
Dans ton cas, si tu veux que tous les composants "sur une même ligne" s'agrandissent en fonction de la taille de la form... les anchors ne pourrons rien pour toi ! (les anchors se basent uniquement sur le composant et le container... alors que dans ton cas, il faut tenir compte du nombre de composants...)
Soit tu décide qu'un seul composant s"ajuste pour combler le changement de taille (par exemple tous les control ancrés à gauche, le dernier ancré à gauche et a droite), soit tu mets tes composants les un en dessous des autres (tous ancrés a gauche et a droite) - mais dans ce cas tu te retrouve avec le même problème pour le redimensionnement vertical...
Si tu veux garder cette disposition, et "répartir" le changement de taille de la form dans chacun de tes composants... il faut le faire à la main : utiliser l'évènement Resize de la Form, et recalculer a chaque fois la taille et la position de tes controles...
cs_Jordan59
Messages postés174Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention 9 avril 20147 30 déc. 2006 à 16:50
N'y aurait-il pas un exemple d'utilisation avec resize() pour pouvoir redimensionner tous les contrôles suivant la taille de la fenêtre? car avec anchor, c'est loin d'être parfait :(
Merci
taupe4
Messages postés91Date d'inscriptiondimanche 16 avril 2006StatutMembreDernière intervention17 avril 20081 30 déc. 2006 à 18:05
Il faut d'abord utiliser les propriétés Size (Width , Height) et Location des Control et travailler pour arriver à les placer;
Par exemple, j'ai 4 panels et je veux que chaque fasse 1/4 de l'écran (pnl1, pnl2, pnl3, pnl4)
void MainFormResize(object s, EventArgs e){
int moitieFormHor = (int)(Width/2);
int moitieFormVer = (int)(Height/2);
//Tous les panels ont la même grandeur
pnl1.Size = new Size(moitieFormHor,moitieFormVer);
pnl2.Size = new Size(moitieFormHor,moitieFormVer);
pnl3.Size = new Size(moitieFormHor,moitieFormVer);
pnl4.Size = new Size(moitieFormHor,moitieFormVer);
//On ne doit pas déplacer le panel 1 puisqu'il ne change pas de location (il reste à gauche de la form
pnl2.Location = new Point(moitieFormHor,0);
pnl3.Location = new Point(0,moitieFormVer);
pnl4.Location = new Point(moitieFormHor,moitieFormVer);
}
Ç'est un début pour t'aider, je cherche des tutos et je t'en dis plus ;)
En gros, Location & Size sont importants.
Enjoy
Vous n’avez pas trouvé la réponse que vous recherchez ?