void Canvas_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Apps && MapView.SelectedNodes.First != null) { NodeView nodeView = MapView.GetNodeView(MapView.SelectedNodes.First); ContextMenu.Show(MapView.Canvas, new Point((int)nodeView.Left + 2, (int)(nodeView.Top + nodeView.Height - 2))); } }
protected override void OnMouseHover(EventArgs e) { resetHoverEvent = true; if (DragDropHandler.IsDragging || MapView.FormatPainter.Active) { return; } Point clickPosition = this.PointToClient(Cursor.Position); mouseOverNode = MapView.GetMapNodeFromPoint(clickPosition); if (mouseOverNode != null) { NodeMouseEventArgs args = new NodeMouseEventArgs( new MouseEventArgs(System.Windows.Forms.MouseButtons.None, 0, clickPosition.X, clickPosition.Y, 0)); args.NodePortion = MapView.GetNodeView(mouseOverNode).GetNodeClickPortion(clickPosition); NodeMouseOver(mouseOverNode, args); } base.OnMouseHover(e); }
protected override void OnMouseUp(MouseEventArgs e) { MapNode clickedNode = MapView.GetMapNodeFromPoint(e.Location); //Debug.WriteLine("Mouse Up: " + DragDropHandler.IsDragging); if (DragDropHandler.IsDragging) { DragDropHandler.OnMouseDrop(e); } else if (MapView.FormatPainter.Active) { MapView.FormatPainter.ExecuteMouseClick(clickedNode); } else { if (clickedNode == null) // IF 'event is not over node' AND 'canvas is not dragged' { CanvasClick(e); } else { var args = new NodeMouseEventArgs(e); args.NodePortion = MapView.GetNodeView(clickedNode).GetNodeClickPortion(e.Location); if (e.Button == System.Windows.Forms.MouseButtons.Right) { NodeRightClick(clickedNode, args); IgnoreNextMouseMove = true; } else { NodeClick(clickedNode, args); } } } //base.OnMouseUp(e); }