The code you say must call the keydown event looks more like you add the event handler of the control twice.
Control c =this.ActiveControl;
c.KeyDown+=new KeyEventHandler(c.KeyDown);
You should add a event handler to each control which has the following signature:
private void Control_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
You can add this handler to a control like this:
c.KeyDown+=new KeyEventHandler(Control_KeyDown);
By the way, the
ProcessCmdKey
is overriding an internal routine of a control and is not an event handler. Those are two separate things.
Good luck!