try override ProcessCmdKeyprotected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
   if((int)msg.WParam == (int) Keys.Tab)
    {      
       //执行一段程序
       //eat the message
       return true;    }
   return base.ProcessCmdKey(ref msg, keyData); }