Double clique quand il y a un clique

Résolu
Signaler
Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008
-
Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008
-
Bonjour, je voudrais que lorsque je clique sur un composant un double clique se produise, mais je ne sais pas comment coder cela.

Il s'agit d'un dataGridView avec des listes déroulantes, et pour les sélectionner il faut cliquer deux fois dessus, alors je me suis dit que lorsque l'utilisateur clique sur le dataGridView je n'ai qu'à effectuer un double clique.

Est-ce que quelqu'un peut m'aider ?
Merci

4 réponses

Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008

Ah eh ben voilà je viens de réussir. En faite ce n'était pas bien compliqué en partant de ton code.
Il n'y a pas besoin d'éditer le tableau, une fois que la cellule qui contient la liste déroulante est sélectionnée ben elle se déroule.

Voilà le code:

private void MonDataGridView_MouseDown(object sender, MouseEventArgs e)
{
DataGridView.HitTestInfo myHitInfo = MonDataGridView
.HitTest(e.X, e.Y);
            if (myHitInfo.RowIndex > -1)
            {
             //selectionne la ligne
                this.
MonDataGridView.Rows[myHitInfo.RowIndex].Selected = true;
               //selectionne la cellule
                this.
MonDataGridView.Rows[myHitInfo.RowIndex].Cells[NumDeLaCelluleDeLaListeDeroulante].Selected = true;
                this.
MonDataGridView.CurrentCell = this.MonDataGridView.Rows[myHitInfo.RowIndex].Cells[NumDeLaCelluleDeLaListeDeroulante];

            }
}
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008
3
Salut,

Ce que tu peut faire c'est : lors d'un clique sur la ligne du tableau, mettre la cellule ou se trouve ta liste déroulante en selectionné,puis mettre ton tableau en "BeginEdit" :

ex:

//sur l'évenement mouseDown
private void MonDataGridView_MouseDown(object sender, MouseEventArgs e)
{
DataGridView.HitTestInfo myHitInfo =



MonDataGridView



.HitTest(e.X, e.Y);
            if (myHitInfo.RowIndex > -1)
            {
             //selectionne la ligne
                this.



MonDataGridView



.Rows[myHitInfo.RowIndex].Selected = true;
               //selectionne la cellule
                this.



MonDataGridView



.Rows[myHitInfo.RowIndex].Cells[4].Selected = true;
                this.



MonDataGridView



.CurrentCell = this.



MonDataGridView



.Rows[myHitInfo.RowIndex].Cells[4];
               
            //edite ton tableau,donc ta cellule
                this.



MonDataGridView



.BeginEdit(true);
            }
}
Messages postés
27
Date d'inscription
jeudi 18 mai 2006
Statut
Membre
Dernière intervention
16 janvier 2008

Merci pour ta réponse mais ça ne fait pas exactement ce que je voulais, mais c'est déjà mieux.
En faisant ce que tu m'as dit, la liste déroulante séléctionne le premier élément, mais elle ne se "déroule" pas, il faut quand meme que je clique une deuxième fois pour pouvoir séléctionner qqch
Messages postés
97
Date d'inscription
lundi 2 mai 2005
Statut
Membre
Dernière intervention
21 mars 2008
3
Dans ce cas je vois pas trop comment faire.

Il faudrait mettre l'attribut DroppedDown a true,c'est pas compliqué pour un combobox bateau mais dans le cadre d'un datagridview...
ze sai po

si j'ai une idée je te dit ça et si tu trouve une solution écrit la.