Bonjour,
je veux faire un keydown par exemplequand la cellule (0,0) est sélectionné le curseur saute vers la cellule (0,3).Code:If e.KeyCode = Keys.right Then
merci de m'aider
Version imprimable
Bonjour,
je veux faire un keydown par exemplequand la cellule (0,0) est sélectionné le curseur saute vers la cellule (0,3).Code:If e.KeyCode = Keys.right Then
merci de m'aider
Donc tu cherches le bon évènement...
Il n'y a pas 100 méthode pour cela,
en mode design, tu sélectionne le control concerné (le datagridview), en haut a droite, le combobox contient tous les évènements disponibles.
Tu prends le bon par exemple, SelectedCellChanged... parfois il faut en essayer plusieurs car ils ont tous des différences et on ne sait pas tout de suite quelle est le plus adapté.
Donc tu as sélectionné un évènement, le code d'initialisation de cet évènement est automatiquement généré.
Dans l'évènement et bien tu fais tes tests:
If macase.rows.index=0 and etc...
Et bien ce que je dis, c'est qu'il faut te créer un évènement.
Chose facile en mode design, par contre si tu créer ton DGV dynamiquement, alors il faut créer également l'évènement qui t'intéresse dynamiquement.
Ce que je te consil c'est de faire un projet bidon avec un DGV, et ainsi trouver l'évènement qui t'intéresse.
Lorsque tu l'as trouvé, retourne dans ton projet et fais des recherches sur comment créer un évènement d'un control dynamique.
Bonsoir,
un exemple de ce que dit mactwist69 :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Dim dgv As New DataGridView Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load dgv.Location = New Point(20, 20) dgv.Name = "dgv1" dgv.Width = 600 'MakeParentTable(dgv, ds) '*** Associe un événement au contrôle créé dynamiquement. AddHandler dgv.KeyDown, AddressOf dgv_KeyDown Me.Controls.Add(dgv) End Sub Private Sub dgv_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) '*** Si le controle est un DataGridview (et que son nom est celui recherché) ... Dim dgv As DataGridView = DirectCast(sender, DataGridView) 'If dgv.Name = "dgv1" Then If e.KeyCode = Keys.Right Then Dim c As Integer = dgv.CurrentCellAddress.X Dim l As Integer = dgv.CurrentCellAddress.Y '*** Si la cellule active est en colonne 0 ... If c = 0 Then dgv.CurrentCell = dgv.Rows(l).Cells(c + 3) End If End If 'End If End Sub