Centrer le contenu d'une form

Résolu
suleiman10 - 1 mai 2013 à 14:46
 suleiman10 - 1 mai 2013 à 19:49
bonjour tout le monde au faite je me retrouve avec un probleme quand j'aggrandis la fenetre de ma form son contenu ne se met pas au centre mais plutôt à gauche de la form est ce que quelqu'un a une idée???

17 réponses

Utilisateur anonyme
1 mai 2013 à 16:01
Attends... ta question est:
centrer le contenu d'une form

C'est ce que je t'ai mis comme code...

Tu vois l'importance de la rigueur de ta question et explications?

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
2
NHenry
Messages postés
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
1 mai 2013 à 14:56
Bonjour,

Tu peux utiliser la propriété Dock pour gérer l'affichage ou alors utiliser la propriété Anchor (je crois) qui permet de fixer l'offset fixe à partir du cadre du conteneur.

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
1
Utilisateur anonyme
1 mai 2013 à 15:04
Bonjour,
Oui, ou encore pour centrer tous les controles:
    Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        For i As Integer = 0 To Me.Controls.Count - 1
            Me.Controls(i).Top = CInt((Me.ClientSize.Height / 2) - (Me.Controls(i).Height / 2))
            Me.Controls(i).Left = CInt((Me.ClientSize.Width / 2) - (Me.Controls(i).Width / 2))
        Next
    End Sub


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
1
Utilisateur anonyme
1 mai 2013 à 17:29
ouais c vrai au faite ce que devais dire c ke j'ai une form et un label donc je veux que tous les


Ce serait le temps que tu respectes lerèglement qui dit :

3. On utilise un langage correct : pas de langage SMS et on fait attention à l'orthographe.

3. On utilise un langage correct : pas de langage SMS et on fait attention à l'orthographe.

3. On utilise un langage correct : pas de langage SMS et on fait attention à l'orthographe.

3. On utilise un langage correct : pas de langage SMS et on fait attention à l'orthographe.
1

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

Posez votre question
Merci les gars c vraiment sympa
0
au faite juste une derniere question puisque le code met tout le contenu au centre par expl si j'ai un boutton et un label il met l'un au dessus de l'autre au centre de la form comment les separer???
0
ouais c vrai au faite ce que devais dire c ke j'ai une form et un label donc je veux que tous les deux soient centrés mais pas l'un au dessus de l'autre mais par expl le label en haut et juste en bas le boutton
0
Utilisateur anonyme
1 mai 2013 à 16:48
Comme dit Nhenry, intéresse toi à Anchror et Dock.
Sinon tu peux le faire "en dur" mais c'est pas tout à fait le résultat attendu, comme ça:
Option Explicit On
Option Strict On
Public Class Form1
    Dim Largeur As Integer = Me.Width
    Dim Hauteur As Integer = Me.Height

    Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize

        For i As Integer = 0 To Me.Controls.Count - 1
            Dim PourcLarg As Integer = CInt(((Me.Controls(i).Left * 100) / Largeur))
            Dim PourcHaut As Integer = CInt(((Me.Controls(i).Top * 100) / Hauteur))
            Me.Controls(i).Left = CInt(((PourcLarg * Me.Width) / 100))
            Me.Controls(i).Top = CInt(((PourcHaut * Me.Height) / 100))
        Next
        Largeur = Me.Width
        Hauteur = Me.Height

    End Sub

End Class



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
1 mai 2013 à 18:00
Salut

bonjour tout le monde au faite je me retrouve avec un probleme quand j'aggrandis la fenetre de ma form son contenu ne se met pas au centre


et avant de redimensionner ta fenetre le contenu
de ta form est centré ?
si oui comment a tu fais ?
0
tu deplaces juste ton contenu au centre de ta forme et voila quand tu compiles normalement le contenu devrai etre placé au centre pour les labels tu peux utiliser text_align dans la boite d'outil
0
Utilisateur anonyme
1 mai 2013 à 19:09
pour les labels tu peux utiliser text_align dans la boite d'outil


Ca.. ça devrait être coché comme "réponse acceptée"

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
au fait j'ai un autre soucis est ce que je le poste ici ou je crée un autre sujet
0
Utilisateur anonyme
1 mai 2013 à 19:24
Si ça concerne exactement le même problème je te comprends...
Oui à cette seule condition.


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
cs_ShayW
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
56
1 mai 2013 à 19:38
tu deplaces juste ton contenu au centre de ta forme


au pifometre
bizarre ton problème
je viens de faire un petit test un form
j'ai placé un label
form.windowstate = normal
j'ai mis la proprieté anchor du label1 à none
je lance le prog
le label est placé à sa position
j'agrandis la fenetre le label aussi est repositioné
0
je vais le poster à l'accueil donc ca concerne les listview et textbox
0
Private Sub form_Resize(sender As Object, e As EventArgs) Handles Me.Resize
For i As Integer = 0 To Me.Controls.Count - 1
Me.Controls(i).Top = CInt((Me.ClientSize.Height / 2) - (Me.Controls(i).Height / 2))
Me.Controls(i).Left = CInt((Me.ClientSize.Width / 2) - (Me.Controls(i).Width / 2))
Next
End Sub
avant tu devrais mettre tout ton contenu dans un panel avec moi ca a marché try it!!!!
0
ok j'avoue que je ne comprends rien à ce que vous dite j'ai commencé le vb il a une semaine et j'ai pas eu à apprendre encore grand chose alors vous n'aurez pas un exemple d'utilisation de la proprité dock ou Anchor svp???
-1