Empecher la touche entrer d epasser a la ligne suivante dans datagridview

Résolu
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 25 avril 2007 à 22:04
 GregYoung - 4 avril 2018 à 21:53
voila
tout est di tje crois...
Quand j'apuie sur la touche entrer dans une celluel du datagridview , je passe sur la cellule de la ligne suivante...
j'aimerais savoir comment empecher cela , je voudrais qu'elle passe simplement dans la colonne suivante (g essaye e.handled=true ds keypress,down,up mais ca descend toujoours)

???

merci

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 avril 2007 à 10:02
Salut,
Dérive un nouveau datagridview, et fait quelque chose comme ceci:

publicclass dgv : DataGridView
{
    protectedoverridebool ProcessDialogKey(Keys keyData)
    {
        Keys key = (keyData & Keys.KeyCode);
        if (key == Keys.Enter)
        {
            returnthis.ProcessRightKey(keyData);
        }
        returnbase.ProcessDialogKey(keyData);
    }
    protectedoverridebool ProcessDataGridViewKey(KeyEventArgs e)
    {
        if (e.KeyCode == Keys.Enter)
        {
            returnthis.ProcessRightKey(e.KeyData);
        }
        returnbase.ProcessDataGridViewKey(e);
    }
}

<hr />
-Blog-
0
cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 2
26 avril 2007 à 11:29
effectivement ca l'empeche d'aller a la ligne du dessous par contre ca na va toujours ou je voudrais
je veux pouvoir commander manuellement le currentcell...
la je lui dis d'aller a telle cellule mais il revient ensuite sur la cellule de droite...
en fait ca n'a fait que "deplacer" le probleme

ya til un moyen de faire en sorte que l'appuie sur la touche entrée ne conduise pas au deplacement sur une cellule
sauf si je dis datagridview.currentcell=.... ds l'evt cellendedit ou keydown...

Merci
0
kornetmuse Messages postés 38 Date d'inscription samedi 17 juillet 2004 Statut Membre Dernière intervention 19 octobre 2010
12 avril 2010 à 15:25
Private Sub DGW_ListeQCM_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DGW_ListeQCM.KeyDown
        If e.KeyValue = Keys.Enter Then
            modifQCM()
        End If
        e.Handled = True
    End Sub


c'est du vb, ca a 3 ans de retard... Mais pour ceux qui cherchent ça peut être utile.
0
Superrrr Merci à toi... seul le 'e.handled = True' m'était nécessaire
En tous cas, c'est top ;-)
0
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
2 sept. 2013 à 09:17
Parfait kornetmuse.
Merci.

--
0
Rejoignez-nous