Cómo dibujar un rectángulo en MouseDown / Move c #

No estoy muy seguro de cómo dibujar un Rectángulo (no lleno) cuando arrastro mi mouse mientras hago clic con el botón izquierdo.

Tengo esto hasta ahora

            private void canevas_MouseDown( object sender , MouseEventArgs e )
            {
                    if( e.Button == MouseButtons.Left )
                    {
                            _topLeft = new Point( e.X , e.Y );
                            _drawing = true;
                    }
            }

            private void canevas_MouseMove( object sender , MouseEventArgs e )
            {
                    if( _drawing )
                    {
                            Rectangle rec = new Rectangle( _topLeft.X , _topLeft.Y , ( e.X - _topLeft.X ) , ( e.Y - _topLeft.Y ) );
                            canevas.CreateGraphics().DrawRectangle( Pens.Black , rec );
                    }
            }

Pero el problema es que no quiero que aparezcan todos los rectángulos

Respuestas a la pregunta(4)

Su respuesta a la pregunta