RaiseMouseMove() private méthode

private RaiseMouseMove ( MouseEventArgs e ) : void
e MouseEventArgs
Résultat void
        public void HandleMouseDown(Point mousepos, MouseButtons mouseButtons)
        {
            TextLocation selectionStartPos;

            TextArea.SelectionManager.WhereFrom = SelSource.Gutter;
            int  realline = TextArea.TextView.GetLogicalLine(mousepos.Y);
            bool isRect   = (Control.ModifierKeys & Keys.Alt) != 0;

            if (realline >= 0 && realline < TextArea.Document.TotalNumberOfLines)
            {
                // shift-select
                if ((Control.ModifierKeys & Keys.Shift) != 0)
                {
                    if (!TextArea.SelectionManager.HasSomethingSelected && realline != TextArea.Caret.Position.Y)
                    {
                        if (realline >= TextArea.Caret.Position.Y)
                        {
                            // at or below starting selection, place the cursor on the next line
                            // nothing is selected so make a new selection from cursor
                            selectionStartPos = TextArea.Caret.Position;

                            // whole line selection - start of line to start of next line
                            if (realline < TextArea.Document.TotalNumberOfLines - 1)
                            {
                                TextArea.SelectionManager.SetSelection(selectionStartPos, new TextLocation(0, realline + 1), isRect);
                                TextArea.Caret.Position = new TextLocation(0, realline + 1);
                            }
                            else
                            {
                                TextArea.SelectionManager.SetSelection(selectionStartPos, new TextLocation(TextArea.Document.GetLineSegment(realline).Length + 1, realline), isRect);
                                TextArea.Caret.Position = new TextLocation(TextArea.Document.GetLineSegment(realline).Length + 1, realline);
                            }
                        }
                        else
                        {
                            // prior lines to starting selection, place the cursor on the same line as the new selection
                            // nothing is selected so make a new selection from cursor
                            selectionStartPos = TextArea.Caret.Position;

                            // whole line selection - start of line to start of next line
                            TextArea.SelectionManager.SetSelection(selectionStartPos, new TextLocation(0, realline + 1), isRect);
                            //            textArea.SelectionManager.SetSelection(selectionStartPos, new TextLocation(selectionStartPos.X, selectionStartPos.Y), isRect);
                            //            textArea.SelectionManager.ExtendSelection(new TextLocation(selectionStartPos.X, selectionStartPos.Y), new TextLocation(0, realline), false);
                            TextArea.Caret.Position = new TextLocation(0, realline);
                        }
                    }
                    else
                    {
                        // let MouseMove handle a shift-click in a gutter
                        MouseEventArgs e = new MouseEventArgs(mouseButtons, 1, mousepos.X, mousepos.Y, 0);
                        TextArea.RaiseMouseMove(e);
                    }
                }
                else // this is a new selection with no shift-key
                {
                    // sync the textareamousehandler mouse location
                    // (fixes problem with clicking out into a menu then back to the gutter whilst there is a selection)
                    TextArea.MousePos = mousepos;

                    selectionStartPos = new TextLocation(0, realline);
                    //textArea.SelectionManager.ClearSelection();

                    // whole line selection - start of line to start of next line
                    if (realline < TextArea.Document.TotalNumberOfLines - 1)
                    {
                        TextArea.SelectionManager.SetSelection(selectionStartPos, new TextLocation(selectionStartPos.X, selectionStartPos.Y + 1), isRect);
                        TextArea.Caret.Position = new TextLocation(selectionStartPos.X, selectionStartPos.Y + 1);
                    }
                    else
                    {
                        TextArea.SelectionManager.SetSelection(new TextLocation(0, realline), new TextLocation(TextArea.Document.GetLineSegment(realline).Length + 1, selectionStartPos.Y), isRect);
                        TextArea.Caret.Position = new TextLocation(TextArea.Document.GetLineSegment(realline).Length + 1, selectionStartPos.Y);
                    }
                }
            }
        }