You could see if a Keyboad hook helps.
This KB(
http://support.microsoft.com/default...;EN-US;Q319524) is about a mouse hook, but you can also hook into keyboard messages. When you hook, you will always get the message irrespective of the control. It is more complex and not as easy as the keypreview, but then you have more power than with keypreview.
Rgds,
Anand M
VB.NET MVP
http://www.dotnetindia.com
"Bob Achgill" wrote:
> No this is not a new dance.
>
> OK. Am I missing something. The following code captures
> the cursor keys alright on the form1 for
> everywhere except when the focus is on a DataGrid or
> AxWebBrowser.
>
> Yes i have set the KeyPreview property on the form to
> true. Almost home!
>
> I saw another post that said that DataGrid was
> not behaving with allowing key capture. Maybe this is a
> similar problem. Except that I want to capture keys
> anywhere on the form.
>
> Is KeyPreview at the form level not all powerful?
>
> ' +++++++++++++++++++++++++++++++++++++++++++++++
> Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e
> As System.Windows.Forms.KeyEventArgs) Handles
> MyBase.KeyDown
>
> If e.KeyCode = 37 Then ' Cursor left
> ' [etc.]
>
> If e.KeyCode = 39 Then ' Cursor right
> ' [etc.]
>
> End Sub
> ' ++++++++++++++++++++++++++++++++++++++++++++++++
>
>