Controle utilisateur basé sur un datagridview

Signaler
Messages postés
79
Date d'inscription
lundi 1 mars 2004
Statut
Membre
Dernière intervention
19 janvier 2012
-
Bonjour,
je suis actuellement en train de développer un user control basé sur un datagridview.
Une de mes colonnes utilise un usercontreol représentant une combobox. Je me suis inspiré du code de MS suivant:
http://msdn.microsoft.com/en-us/library/7tas5c80.aspx?ppud=4

Pour remédier aux problèmes de la touche Entrée qui passe a la ligne suivante quand je ne suis pas en mode edition, j'ai hérité mon control de datagridview. En gros pour avoir mon user control final, j'utilise un autre user control héritant du datagridview. Dans ce dernier control, j'ai rajouté ces deux fonctions suivantes.
Protected Overrides Function ProcessDataGridViewKey(ByVal keyData As KeyEventArgs) As Boolean

Try
'Check the keycode
If keyData.KeyCode = Keys.Enter Then
'Return the result
Return False
End If

'Return the normal behavior
Return MyBase.ProcessDialogKey(keyData.KeyCode)
Catch mException As Exception
End Try

End Function

Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean

Try
Dim mKey As Keys = (keyData & Keys.KeyCode)
If (mKey = Keys.Enter) Then

Return False
Else
Return MyBase.ProcessDialogKey(keyData)
End If
Catch mException As Exception
End Try
End Function


Le problème est que quand ma colonne affiche mon usercontrol représentant une combobox et que je fait Entrée sur celle ci, je ne suis pas capable d attrapper l'évenement Keypress de celle ci, et mon datagridview sélectionne directement la cellule en dessous.
1°) Comment puis je faire pour remédier a ce problème?
2°) Est il possible de créer un evenement sur mon user control final qui se déclenche sur le keypress de ma combobox?

Merci

Billy21