public override bool PreProcessMessage(ref Message msg)
{
// Check if message is KEY_DOWN
if (msg.Msg == WM_KEYDOWN)
{
Keys keyData = ((Keys) (int) msg.WParam) |ModifierKeys;
Keys keyCode = ((Keys) (int) msg.WParam);
// Make sure we handle certain keys
switch(keyCode)
{
// Keys used to move forward i list
case Keys.Down:
case Keys.Right:
case Keys.Tab:
{
// If not at the end handle message
if (m_tabIndex < Items.Count-1)
return false;
//Cant go any further backwards , do not handle message;
m_tabIndex = -1;
break;
}
// Keys used to move backwards in list
case Keys.Up:
case Keys.Left:
{
// If not at the end handle message
if (m_tabIndex >0)
return false;
//Cant go any further foreward , do not handle message;
m_tabIndex = -1;
break;
}
default:
break;
}
}
return base.PreProcessMessage (ref msg);
}