Pabo.MozBar.MozPane.OnKeyDown C# (CSharp) Method

OnKeyDown() protected method

protected OnKeyDown ( KeyEventArgs e ) : void
e System.Windows.Forms.KeyEventArgs
return void
        protected override void OnKeyDown(KeyEventArgs e)
        {
            base.OnKeyDown (e);
            switch (e.KeyCode)
            {

                case Keys.Enter:  // Enter
                case Keys.Space:
                {
                    if (m_tabIndex!=-1)
                        SelectItem(m_tabIndex);
                    break;
                }
                case Keys.Down:
                case Keys.Right:
                case Keys.Tab:
                {
                    // Move tabindex one step forward.
                    m_tabIndex++;
                    if ((m_tabIndex < Items.Count) && (m_tabIndex >0))
                    {
                        RemoveFocus();
                        if (Items[m_tabIndex].state!=MozItemState.Selected)
                            Items[m_tabIndex].state = MozItemState.Focus;
                        ScrollControlIntoView(Items[m_tabIndex]);
                    }
                    else this.SelectNextControl(this,true,true,true,true);

                    break;
                }
                case Keys.Up:
                case Keys.Left:
                {
                    // Move tabindex one step backward
                    m_tabIndex--;
                    if ((m_tabIndex >= 0) && (m_tabIndex <Items.Count))
                    {
                        RemoveFocus();
                        if (Items[m_tabIndex].state!=MozItemState.Selected)
                            Items[m_tabIndex].state = MozItemState.Focus;
                        ScrollControlIntoView(Items[m_tabIndex]);
                    }
                    else this.SelectNextControl(this,false,true,true,true);

                    break;
                }

            }
        }