FlexFieldControlLib.FieldControl.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 );

             if ( FieldKeyPressedEvent != null )
             {
            KeyPressEventArgs args = new KeyPressEventArgs( Convert.ToChar( e.KeyCode, CultureInfo.InvariantCulture ) );
            FieldKeyPressedEvent( this, args );
             }

             switch ( e.KeyCode )
             {
            case Keys.Home:
               SendCedeFocusEvent( Action.Home );
               return;

            case Keys.End:
               SendCedeFocusEvent( Action.End );
               return;
             }

             if ( IsCedeFocusKey( e ) )
             {
            SendCedeFocusEvent( Direction.Forward, Selection.All );
            e.SuppressKeyPress = true;
            return;
             }
             else if ( IsForwardKey( e ) )
             {
            if ( e.Modifiers == Keys.Control )
            {
               SendCedeFocusEvent( Direction.Forward, Selection.All );
               return;
            }
            else if ( SelectionLength == 0 && SelectionStart == TextLength )
            {
               SendCedeFocusEvent( Direction.Forward, Selection.None );
               return;
            }
             }
             else if ( IsReverseKey( e ) )
             {
            if ( e.Modifiers == Keys.Control )
            {
               SendCedeFocusEvent( Direction.Reverse, Selection.All );
               return;
            }
            else if ( SelectionLength == 0 && SelectionStart == 0 )
            {
               SendCedeFocusEvent( Direction.Reverse, Selection.None );
               return;
            }
             }
             else if ( IsBackspaceKey( e ) )
             {
            HandleBackspaceKey( e );
             }
             else if ( !_valueFormatter.IsValidKey( e ) &&
                   !IsEditKey( e ) )
             {
            e.SuppressKeyPress = true;
             }
        }