/// <summary>
        /// OnKeyUp.
        /// </summary>
        protected override void OnKeyUp(System.Windows.Forms.KeyEventArgs e)
        {
            Kitware.VTK.vtkGenericRenderWindowInteractor grwi = this.m_RenderWindowInteractor as Kitware.VTK.vtkGenericRenderWindowInteractor;
            if (null != grwi)
            {
                grwi.SetKeyEventInformation(e.Control ? 1 : 0, e.Shift ? 1 : 0, (sbyte)e.KeyCode, 1, null);

                grwi.KeyReleaseEvent();
            }
        }
        /// <summary>
        /// OnKeyPress.
        /// </summary>
        protected override void OnKeyPress(System.Windows.Forms.KeyPressEventArgs e)
        {
            Kitware.VTK.vtkGenericRenderWindowInteractor grwi = this.m_RenderWindowInteractor as Kitware.VTK.vtkGenericRenderWindowInteractor;
            if (null != grwi)
            {
                grwi.SetKeyEventInformation(0, 0, (sbyte)e.KeyChar, 1, e.KeyChar.ToString());

                grwi.CharEvent();
            }
        }
        /// <summary>
        /// OnMouseMove.
        /// </summary>
        protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e)
        {
            Kitware.VTK.vtkGenericRenderWindowInteractor grwi = this.m_RenderWindowInteractor as Kitware.VTK.vtkGenericRenderWindowInteractor;
            if (null != grwi)
            {
                grwi.SetEventInformationFlipY(e.X, e.Y, 0, 0, 0, e.Clicks, null);

                grwi.MouseMoveEvent();
            }
        }
        /// <summary>
        /// OnSizeChanged fires after the Size property has changed value.
        /// </summary>
        protected override void OnSizeChanged(System.EventArgs e)
        {
            this.SyncRenderWindowSize();

            Kitware.VTK.vtkGenericRenderWindowInteractor grwi = this.m_RenderWindowInteractor as Kitware.VTK.vtkGenericRenderWindowInteractor;
            if (null != grwi)
            {
                grwi.ConfigureEvent();
            }

            base.OnSizeChanged(e);

            this.Invalidate();
        }
        /// <summary>
        /// OnMouseUp.
        /// </summary>
        protected override void OnMouseUp(System.Windows.Forms.MouseEventArgs e)
        {
            Kitware.VTK.vtkGenericRenderWindowInteractor grwi = this.m_RenderWindowInteractor as Kitware.VTK.vtkGenericRenderWindowInteractor;
            if (null != grwi)
            {
                grwi.SetEventInformationFlipY(e.X, e.Y, 0, 0, 0, e.Clicks, null);

                switch (e.Button)
                {
                case System.Windows.Forms.MouseButtons.Left:
                    grwi.LeftButtonReleaseEvent();
                    break;

                case System.Windows.Forms.MouseButtons.Middle:
                    grwi.MiddleButtonReleaseEvent();
                    break;

                case System.Windows.Forms.MouseButtons.Right:
                    grwi.RightButtonReleaseEvent();
                    break;
                }
            }
        }