Double clique quand il y a un clique

Résolu
AnoTreL Messages postés 27 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 16 janvier 2008 - 20 juin 2007 à 12:52
AnoTreL Messages postés 27 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 16 janvier 2008 - 21 juin 2007 à 12:34
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

AnoTreL Messages postés 27 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 16 janvier 2008
21 juin 2007 à 12:34
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];

            }
}
3
cs_Kassidy Messages postés 97 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 21 mars 2008 3
20 juin 2007 à 17:19
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);
            }
}
0
AnoTreL Messages postés 27 Date d'inscription jeudi 18 mai 2006 Statut Membre Dernière intervention 16 janvier 2008
20 juin 2007 à 23:56
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
0
cs_Kassidy Messages postés 97 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 21 mars 2008 3
21 juin 2007 à 11:39
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.
0