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 :

[DataGridViewButtonColumn] Bouton dans une colonne avec une image


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    107
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Septembre 2006
    Messages : 107
    Points : 48
    Points
    48
    Par défaut [DataGridViewButtonColumn] Bouton dans une colonne avec une image
    Bonjour, j'ai trouvé un petit code pour dessiner une image dans le contrôle DataGridViewButtonCell car on ne pas accéder à la propriété Image du contrôle DataGridViewButtonColumn.

    Voici les deux images que j'utilise :




    Voici le résultat :



    Mon image "find-16.png" est complètement déformée ... et je ne comprends pas du tout pourquoi ...

    Voici le code qui dessine l'image sur l'évènement CellPainting de ma DataGridView

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
            private void dgCustomer_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
            {
                if ((e.ColumnIndex == dgCustomer.DgGrid.Columns["colImgView"].Index && e.RowIndex >= 0))
                {
                    e.Paint(e.CellBounds, DataGridViewPaintParts.All);
                    DataGridViewButtonCell bc = dgCustomer.DgGrid[0, e.RowIndex] as DataGridViewButtonCell;
                    e.Graphics.DrawImage(Properties.Resources.find_16, e.CellBounds.Left + 3, e.CellBounds.Top + 3);
                    e.Handled = true;
                }
                else if ((e.ColumnIndex == dgCustomer.DgGrid.Columns["colImgEdit"].Index && e.RowIndex >= 0))
                {
                    e.Paint(e.CellBounds, DataGridViewPaintParts.All);
                    DataGridViewButtonCell bc = dgCustomer.DgGrid[0, e.RowIndex] as DataGridViewButtonCell;
                    e.Graphics.DrawImage(Properties.Resources.edit_16, e.CellBounds.Left + 3, e.CellBounds.Top + 3);
                    e.Handled = true;
                }
            }
    Merci d'avance pour votre aide.

  2. #2
    Membre régulier Avatar de maitredede
    Homme Profil pro
    Pisseur de code
    Inscrit en
    Mai 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Pisseur de code

    Informations forums :
    Inscription : Mai 2006
    Messages : 59
    Points : 106
    Points
    106
    Par défaut
    Je pense que tu devrais peut-être faire tes propres classes (column et cell) pour arriver à gérer correctement l'image de ton bouton. Comme ça, ça te permet d'assigner l'image à ta colonne (et ça sera répercuté sur chaque cell) et de gérer ta propre signature d'event assigné à ta colonne. Ca t'évitera d'avoir trop de lignes de codes dans ta Form après...

    Après, je suis curieux de savoir ce qu'en pense les gens

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  2. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 13h58
  3. [WD14] Alimentation d'une colonne d'une tableau avec une autre colonne
    Par Deep Lowee dans le forum WinDev
    Réponses: 2
    Dernier message: 23/01/2013, 18h44
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59
  5. Copie d'une table avec une colonne du type image
    Par mma67 dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 12/02/2010, 20h13

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