Redimensionner une forme

astvt Messages postés 45 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 2 août 2018 - 10 févr. 2009 à 18:59
astvt Messages postés 45 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 2 août 2018 - 12 févr. 2009 à 15:59
Bonjour, j'ai une form1 avec une zone conteant une grille.
Sous cette zone un bouton1.
Lorsque je positionne ma souris sur le bord inferieur de ma form1 une fléche diminué/agrandir apparait.
Jusque la pas de problème.
Lorsque je diminue la taille de ma form1 en hauteur, le bord inferieur remonte et fini par masquer mon bouton1 et ma zone de grille.
Je voudrais lorsque je diminue la taille de ma form1 que le bouton reste apparent. En fait que la zone sous ma zone contenant une grille et mon bouton garde sa dimension et quelle remonte en même temps que le bord inférieur de ma form1.

Je ne sais pas comment faire. Si quelqu'un a déjà fait cela, merci pour votre aide.  

6 réponses

cs_bellak Messages postés 136 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 5 mai 2011
10 févr. 2009 à 19:25
Salut , pour ta question tu joues avec la proprieté Anchor , ton cas LEFT-TOP
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
10 févr. 2009 à 19:29
Perso j'aurais plutot dit,
- au minimum Top et bottom pour la grille
- au moins bottom pour le button, mais pas top

Après il faut jouer aussi sur Left et Right dans la cas de redimensionnement horizontal.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_bellak Messages postés 136 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 5 mai 2011
10 févr. 2009 à 19:35
mouais , en tout cas il essaye , le plus important c'est la propriété , non ??
0
astvt Messages postés 45 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 2 août 2018
11 févr. 2009 à 18:10
Merci Casi et Bellak de vous interessez à mon problème.

J'ai réussi à faire se déplacer mon bouton1 en même temps que ma form1 en jouant sur les propriétés du bouton1 et de ma form1 comme vous me l'avez conseillé.

Parcontre avec ma grille qui est un Microsoft FlexGrid Control un composant COM de VB6, je n'arrive pas à modifier la hauteur. Elle reste fixe.

J'ai défini une hauteur maximum size et minimum size pour afficher ma grille.
Si dans ma form1.cs (design) je met la taille de la grille au maximum size, lorsque je diminue ma form1, la taille de ma grille ne diminue pas et inversement. La hauteur reste à la taille définie dans le design.

Comment détecter le redimensionnement de form1 ?
Si j'arrive à détecter le redimentionnement alors il doit être possible de jouer sur la dimension SIZE.HEIGHT de la grille.

Merci de votre aide.   
0

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

Posez votre question
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
11 févr. 2009 à 19:54
Normalement sur ta form, tu as les évènements Resize ou SizeChanged lorsque la form est redimentionnée

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
astvt Messages postés 45 Date d'inscription dimanche 6 novembre 2005 Statut Membre Dernière intervention 2 août 2018
12 févr. 2009 à 15:59
Bonjour casy merci pour ta réponse, j'avais oublié cette évènement.


voici ce que j'ai fait et cela fonctionne comme je le souhaitait.


//définition d'une variable redimensionnement
public int taille;
public Form1()
   {
         InitializeComponent();
         //initialise la variable redimensionnement
         taille = this.MaximumSize.Height;
         ....
         ....
   }
   private void Form1_Resize(object sender, EventArgs e)
   {
   //reduction de la fenêtre
   if (this.Size.Height < taille)
   {
         taille = this.Size.Height;
         this.axMSFlexGrid1.Height = taille - 80;
         return;
   }
   //augmentation de la fenêtre
   else
   {
         taille = this.Size.Height;
         this.axMSFlexGrid1.Height = taille - 80;
         return;
     }
   }
-80 car j'ai une difference de 80 entre la hauteur de Form1 et de la zone grille.
Merci pour votre aide. Mon problème est résolu.
0
Rejoignez-nous