IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Resize de DataGridView


Sujet :

Windows Forms

  1. #1
    Débutant  
    Profil pro
    Bidouilleur
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 103
    Points
    103
    Par défaut Resize de DataGridView
    Bonjour a tous,
    je programme en C# sous Visual 2008.
    j'utilise une dataGridView dans ma form, et je souhaite que la taille de ma DGV suive la taille de la form qui la contient.
    c'est a dire que si je change la taille de la fenetre principale (Form ) je souhaite que le point Bas-Droit de la DGV suive celui de Form.
    Merci d'avance !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749

  3. #3
    Débutant  
    Profil pro
    Bidouilleur
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 103
    Points
    103
    Par défaut
    Merci Tomlev pour ta reponse,
    j' ai deja essayé Dock Mais le resultat n'est pas tres beau.
    je vais utiliser la detection d'evenement "Resize" de la fenetre principale Form, et apres faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dataGridView.Width = ....
                dataGridView.Height = ...;
    et a la place des ... faire un calcul avec la taille actuelle de la fenetre principale et Resizer mon DGV en consequence.

    Je ne connaissait pas le fonctionnement de la detection d'evenement.
    je viens juste de le decouvrir !!!!

    Merci

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par kabil.cpp Voir le message
    j' ai deja essayé Dock Mais le resultat n'est pas tres beau.
    Essaie avec Anchor alors, ce sera peut-être plus adapté à ce que tu veux

    Citation Envoyé par kabil.cpp Voir le message
    je vais utiliser la detection d'evenement "Resize" de la fenetre principale Form, et apres faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dataGridView.Width = ....
                dataGridView.Height = ...;
    et a la place des ... faire un calcul avec la taille actuelle de la fenetre principale et Resizer mon DGV en consequence.
    Tu te compliques la vie, Anchor sert exactement à ça. Ca maintient la distance entre les bords du contrôle et le bord du conteneur. Par exemple, si tu mets Bottom et Right, la distance entre le bord droit du DataGridView et le bord droit de la fenêtre restera constante (idem pour le bord inférieur)

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Calculer Size d'un DGV
    Salut

    Moi je cherche l'inverse
    Existe-t-il une methode simple pour connaitre la taille effective (utile) d'un DGV en vue de resizer la fenetre ?
    « Ils ne savaient pas que c'était impossible, alors ils l'ont fait ». (Twain)

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par olibara Voir le message
    Existe-t-il une methode simple pour connaitre la taille effective (utile) d'un DGV en vue de resizer la fenetre ?
    Pas automatiquement en tous cas...

    Il faudrait
    - calculer la largeur de toutes les colonnes affichées (+ largeur des en-têtes de ligne)
    - calculer la hauteur de toutes les lignes affichées (+ hauteur des en-têtes de colonne)
    - affecter ces dimensions au DGV
    - redimensionner la fenêtre (ou la mettre en autosize)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var width = dgv.RowHeaderWidth + dgv.Columns.Where(c => c.Visible).Sum(c => c.Width);
    var height = dgv.ColumnHeaderHeight + dgv.Rows.Where(r => r.Visible).Sum(r => r.Height);
    dgv.Size = new Size(width, height);
    (il faut peut-être ajuster un peu pour prendre en compte les bordures, marges, etc...)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Resize d'une image
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 13/07/2008, 22h23
  2. [Resize auto] Comment resizer un datagridview dans un form?
    Par bonilla dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/08/2007, 15h22
  3. [Applet] Resize d'une applet
    Par jse dans le forum Applets
    Réponses: 12
    Dernier message: 20/09/2004, 16h26
  4. [MFC] COmment empecher le resize d'un SDI ?
    Par Soulsurfer dans le forum MFC
    Réponses: 12
    Dernier message: 28/06/2004, 17h28
  5. [MFC]Property Sheet resizable
    Par fr66 dans le forum MFC
    Réponses: 4
    Dernier message: 14/06/2004, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo