3

那么,当用户单击时,检索鼠标指针下的对象的方法是什么?我认为 gViewer 必须有一些事件才能做到这一点。在教程中我发现了这个想法:

gViewer.SelectionChanged +=
        new EventHandler(gViewer_SelectionChanged);

作为这样定义的gViewer_SelectionChanged事件处理程序:

void gViewer_SelectionChanged(object sender, EventArgs e)

尽管我为所有 3 个 MSAGL dll 添加了使用语句,但我找不到该 Selection changed事件。有什么特别的活动吗,还是我看错了?难道是我需要处理一些鼠标事件并基于它获取对象吗?

可悲的是,MSAGL 示例很少,没有文档和有限的评论,所以这里的问题越多越好。

4

2 回答 2

1

你的意思是获取每个对象的信息?

viewer.Click += GraphNode_Click;
...
private void GraphNode_Click(object sender, EventArgs e)
{
    GViewer viewer = sender as GViewer;
    if (viewer.SelectedObject is Node)
    {
        Node node = viewer.SelectedObject as Node;
        //...do works here
    }
}
于 2017-07-04T03:12:06.143 回答
0

代码不能工作:

viewer.Click += GraphNode_Click;

它应该是这样的:

viewer.Click += EventHandler(Group_Click);

于 2019-08-08T07:59:30.727 回答