Redimensionner une forme

Signaler
Messages postés
45
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
2 août 2018
-
Messages postés
45
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
2 août 2018
-
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

Messages postés
136
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
5 mai 2011

Salut , pour ta question tu joues avec la proprieté Anchor , ton cas LEFT-TOP
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
Messages postés
136
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
5 mai 2011

mouais , en tout cas il essaye , le plus important c'est la propriété , non ??
Messages postés
45
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
2 août 2018

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.   
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
41
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
Messages postés
45
Date d'inscription
dimanche 6 novembre 2005
Statut
Membre
Dernière intervention
2 août 2018

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.