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

C# Discussion :

[Novice] Affichage d'un contextMenuStrip après clic droit sur cellule d'un DataGridView


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Août 2009
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 107
    Points : 74
    Points
    74
    Par défaut [Novice] Affichage d'un contextMenuStrip après clic droit sur cellule d'un DataGridView
    Bonjour,

    Dans un DataGridView, je souhaite faire apparaître par clic droit un menu contextuel.

    Le menu s'affiche bien, mais tout en haut de la fenêtre.
    Comment faire pour qu'il s'affiche sur la cellule où j'ai fait le clic droit?

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {    
        if (e.Button == MouseButtons.Right)
        {
         dataGridView1.Rows[e.RowIndex].Selected = true;
         this.dataGridView1.CurrentCell = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
         this.contextMenuStrip1.Show(this.dataGridView1, new Point(e.RowIndex, e.ColumnIndex));
        }
    }
    J'ai essayé d'utiliser la propriété "hittest", mais à chaque fois que je faisais un clic droit, j'avais le message "l'index était hors limite" et le menu contextuel ne s'affichait pas.

    Quelqu'un aurait une solution?

    Merci de votre aide.

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Cette instruction est inutile, voire nocive:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    this.dataGridView1.CurrentCell = this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
    Cela dit, je ne vois pas d'où vient le problème d'index hors limite.
    Sur quel instruction se produit-il ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/06/2015, 07h52
  2. Lancer une commande DOS après clic droit sur dossier
    Par Invité(e) dans le forum Windows
    Réponses: 3
    Dernier message: 17/01/2011, 00h27
  3. ContextMenuStrip (clic droit) sur ListViewItem?
    Par Sandriiine dans le forum Windows Forms
    Réponses: 7
    Dernier message: 23/05/2008, 18h18
  4. [HTML] affichage d'une page après clic sur le bouton 'précédent' du navigateur
    Par val_lala dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 06/04/2008, 23h21
  5. [JTable] Simuler clic gauche après clic droit
    Par Oliveuh dans le forum Composants
    Réponses: 1
    Dernier message: 03/12/2004, 12h35

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