-1
我有获得点击节点C#代码:获取节点点击
public Node ChartMouseDownFindNode(Graphics graphics, Font font, Point mousePosition)
{
this.mousePosition = Cursor.Position;
Pen pen = new Pen(Color.FromArgb(255, 124, 176, 34), 2);
foreach (Node node in Nodes)
{
Size nodeSize = node.GetNodeSize(graphics, font);
if (node.Position.X < mousePosition.X + Math.Abs(mousePosition.X) && node.Position.X + nodeSize.Width > mousePosition.X + Math.Abs(mousePosition.X))
if (node.Position.Y < mousePosition.Y + Math.Abs(mousePosition.Y) && node.Position.Y + nodeSize.Height > mousePosition.Y + Math.Abs(mousePosition.Y))
return node;
MessageBox.Show("clicked");
}
return null;
}
它不工作。我猜游标有问题。我的想法是将节点的位置与鼠标的位置进行比较。 谢谢了!
什么是您的示例中的节点? –
为什么要添加鼠标位置和鼠标位置的绝对?这是位置的两倍或0. –
我使用图形绘制节点,它是矩形类型。节点类包含节点的内容,如id,name。 – Axess