Bonsoir,
comme l'explique le titre, j'ai besoin de créer une nouvelle ligne dans un datagridview en utilisant la touche tab...
pour cela j'utilise le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 Private Sub DTGNomenclature_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DTGNomenclature.KeyDown
 
        If e.KeyCode = Keys.Tab Then
 
            If DTGNomenclature.CurrentCellAddress.X = 4 And DTGNomenclature.CurrentCellAddress.Y + 1 = DTGNomenclature.RowCount Then
                DTGNomenclature.Rows.Add(1)
                DTGNomenclature.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2
                DTGNomenclature.BeginEdit(True)
                nbposte = nbposte + 1
                txtnbposte.Text = nbposte
                If DTGNomenclature.RowCount > 0 Then
                    DTGNomenclature.Rows(nbposte - 1).Cells(0).Value = DTGNomenclature.Rows(nbposte - 2).Cells(0).Value
                    DTGNomenclature.Rows(nbposte - 1).Cells(1).Value = DTGNomenclature.Rows(nbposte - 2).Cells(1).Value
                    DTGNomenclature.Rows(nbposte - 1).Cells(2).Value = DTGNomenclature.Rows(nbposte - 2).Cells(2).Value
                End If
                DTGNomenclature.Rows(nbposte - 1).Cells(3).Value = nbposte
                DTGNomenclature.Rows(nbposte - 1).Cells(4).Value = "SOURIS"
 
            End If
        End If
    End Sub
Mais, quand je clique sur tab, le focus passe automatiquement au contrôle suivant en ignorant complètement l'événement keydown.