Hallo Community,
ich habe folgendes Problem:
Ich habe ein Formular mit einer Textbox und einem Datagrid mit Access-Datenbankverbindung.
Sobald man auf eine Datagridzeile klickt wird sofort die Textbox selektiert.
Die Textbox arbeitet unabhängig vom Datagrid (Keine Datenbindung etc.)
Wenn man nun in der Textbox die Pfeil-nach-unten bzw. Pfeil nach oben Taste drückt,
soll dies die nächste bzw. vorige Zeile im Datagrid selektieren und zwar so als würde man mit der Maus darauf klicken, da im Hintergrund ein Datagridview.Selectionchanged Eventhandler arbeitet.
Ich habe bereits versucht dies über Keydown zu lösen, doch dies funktioniert nicht richtig:
Es wird zwar die nächste Zeile selektiert aber die Zellwerte ändern sich nicht und
dieses Event funktioniert nur beim ersten mal und funktioniert dann nicht mehr.
Hier der Code:
AddHandler tb_lagerort.KeyDown, AddressOf tb_lagerort_keydown
Sub tb_lagerort_keydown(ByVal sender As Object, _
ByVal e As KeyEventArgs)
Select Case e.KeyData
Case Keys.Down
Debug.Print("Runter für Datagrid1 gedrückt!")
If Form1.DataGridView1.Rows.Count > 0 Then
Form1.DataGridView1.Rows(Form1.DataGridView1.CurrentRow.Index + 1).Selected = True
End If
e.Handled = True
Case Keys.Up
Debug.Print("Rauf für Datagrid1 gedrückt!")
e.Handled = True
End Select
End Sub
Könnt Ihr mir helfen.
Mit freundlichen Grüßen
ggb83
ich habe folgendes Problem:
Ich habe ein Formular mit einer Textbox und einem Datagrid mit Access-Datenbankverbindung.
Sobald man auf eine Datagridzeile klickt wird sofort die Textbox selektiert.
Die Textbox arbeitet unabhängig vom Datagrid (Keine Datenbindung etc.)
Wenn man nun in der Textbox die Pfeil-nach-unten bzw. Pfeil nach oben Taste drückt,
soll dies die nächste bzw. vorige Zeile im Datagrid selektieren und zwar so als würde man mit der Maus darauf klicken, da im Hintergrund ein Datagridview.Selectionchanged Eventhandler arbeitet.
Ich habe bereits versucht dies über Keydown zu lösen, doch dies funktioniert nicht richtig:
Es wird zwar die nächste Zeile selektiert aber die Zellwerte ändern sich nicht und
dieses Event funktioniert nur beim ersten mal und funktioniert dann nicht mehr.
Hier der Code:
AddHandler tb_lagerort.KeyDown, AddressOf tb_lagerort_keydown
Sub tb_lagerort_keydown(ByVal sender As Object, _
ByVal e As KeyEventArgs)
Select Case e.KeyData
Case Keys.Down
Debug.Print("Runter für Datagrid1 gedrückt!")
If Form1.DataGridView1.Rows.Count > 0 Then
Form1.DataGridView1.Rows(Form1.DataGridView1.CurrentRow.Index + 1).Selected = True
End If
e.Handled = True
Case Keys.Up
Debug.Print("Rauf für Datagrid1 gedrückt!")
e.Handled = True
End Select
End Sub
Könnt Ihr mir helfen.
Mit freundlichen Grüßen
ggb83