Ah, you're probably right. The reference to "forms" threw me... but of course in C++ .NET you have the managed libraries, which have forms. Haven't done any mixing of C++ with .NET yet, though I find C# is quite nice.
In the .NET forms package, if you look at your form you'll find it has a "KeyPreview" property. Set that to True. Your form should see key events prior to any control (in other words, no matter which control on that form has the focus, when a key is pressed the form will see the key first, and then the control). You can then write whatever centralized key handling code in the appropriate event (keydown, keypress, keyup) for the form. You could get the same effect by attaching the same delegate to the keyevents for each control, but that's more work.