Previous | Index | Next 

[PRB] Can’t use Tab key to move the focus to a DataGrid ActiveX control

A problem of COM Interop technology prevents end users to move the input focus to a migrated DataGrid control by means of the Tab key. It can be easily ascertained that the problem occurs also if you migrated using the Upgrade Wizard, hence the issue isn’t related to VB Migration Partern and its support library.

The unwanted behavior is presumably caused by the fact that COM Interop fires *two* KeyUp events inside the control when the Tab key is pressed and released, and the spurious event forces the focus to shift to the next control in TabIndex order.

The simplest solution to this issue is to “absorbe” the KeyUp event of the DataGrid control

 Private Sub DataGrid1_KeyUp(ByRef KeyCode As Short, ByRef Shift As Short) Handles DataGrid1.KeyUp6
     If KeyCode = VBRUN.KeyCodeConstants.vbKeyTab And _
         DataGrid1.TabAction = MSDataGridLib.TabActionConstants.dbgControlNavigation Then
         KeyCode = 0
     End If
 End Sub

 

Previous | Index | Next