Comment dessiner un rectangle sur MouseDown/Déplacer c#

Je ne suis pas tout à fait sûr de savoir comment dessiner un Rectangle (non rempli) lorsque je fais glisser mon mousedown, tandis que le clic gauche de la souris.

J'ai jusqu'à présent

            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 );
                    }
            }

Mais les problèmes que je ne veux pas tous les rectangles de montrer

OriginalL'auteur Burnzy | 2010-10-30