protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (HasDocument) { AbsoluteMouseEventArgs abs_e = new AbsoluteMouseEventArgs(e, Document); Document.MouseDown(abs_e); if (e.Button == MouseButtons.Right) { this.ContextMenuStrip = Document.GetContextMenu(abs_e); } } }
protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (HasDocument) { var mouseDocLocation = GetDocumentCoordinates(e.Location); var mouseDocOffset = new SizeF(mouseDocLocation.X - mouseDocPrevLocation.X, mouseDocLocation.Y - mouseDocPrevLocation.Y); AbsoluteMouseEventArgs abs_e = new AbsoluteMouseEventArgs(e.Button, mouseDocLocation, mouseDocOffset, Document.Zoom); Document.MouseDown(abs_e); if (e.Button == MouseButtons.Right) { this.ContextMenuStrip = Document.GetContextMenu(abs_e); } } }
protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (HasDocument) { var abs_e = new AbsoluteMouseEventArgs(e, Document); Document.MouseDown(abs_e); if (e.Button == MouseButtons.Right) { ContextMenuStrip = Document.GetContextMenu(abs_e); } if (e.Button == MouseButtons.Middle) { _initialScrollPosAbs = abs_e.Location; } } }
protected override void OnMouseMove(MouseEventArgs e) { base.OnMouseMove(e); if (HasDocument) { var abs_e = new AbsoluteMouseEventArgs(e, Document); Document.MouseMove(abs_e); if (e.Button == MouseButtons.Middle) { // seems to work well, at least on my system... const int DiffMagnifier = 3; var horDiff = Math.Sign(_initialScrollPosAbs.X - abs_e.X);; var verDiff = Math.Sign(_initialScrollPosAbs.Y - abs_e.Y); var currOffset = Offset; currOffset.Offset(DiffMagnifier * horDiff, DiffMagnifier * verDiff); Offset = currOffset; } } }
protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if (HasDocument) { AbsoluteMouseEventArgs abs_e = new AbsoluteMouseEventArgs(e, Document); Document.MouseDown(abs_e); if (e.Button == MouseButtons.Right) this.ContextMenuStrip = Document.GetContextMenu(abs_e); } }