Bonjour.
J'ai une datagridview (dgv) qui contient des colonnes de type CalendarColumn (le code qu'on trouve sur msdn ici)
Je souhaite récupérer l'evenement de KeyDown Tab (KeyCode = 9 donc), sachant que ma datagridview est éditable OnEnter (dès qu'on clique sur un cellule). Ceci n'étant pas possible directement par Dgv.KeyDown en mode édition, il faut passer par des moyens détournés.
J'ai exploré plusieurs pistes mais aucune ne marche pas pour le moment.

Celle ci m'avait l'air fonctionnelle notamment.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
    Private Sub DataGridView2_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView2.EditingControlShowing
        Dim textBoxCell As DatePicker = TryCast(e.Control, DatePicker)
        If textBoxCell IsNot Nothing Then
            AddHandler textBoxCell.KeyDown, AddressOf textBoxCell_KeyPress
        End If
    End Sub
    Private Sub textBoxCell_KeyPress(ByVal sender As Object, ByVal e As KeyEventArgs)
        MessageBox.Show(e.KeyCode)
    End Sub
Premier problème, je n'arrive pas à connaitre le type de la cellule. pour une cellule normale, on aurait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Dim textBoxCell As TextBox = TryCast(e.Control, TextBox)
J'ai essayé DatePicker (la classe introduite par msdn) et d'autres, mais l'evenement keypress n'est jamais activé.
Ensuite, il semblerait que la touche TAB ne soit jamais "capturée" par KeyDown KeyPress ou KeyUp. Y'a t'il un moyen détourné de le faire?
Merci