需要一个视觉控制来可视化逻辑“A跟随B”或“A取决于B和C”以及这种关系

时间:2012-03-28 13:36:59

标签: c# winforms controls

我想在屏幕上显示有关特定事件数量的信息,每个事件都有一组逻辑语句,例如“如果X和Y则发生此事件”。因此,我需要一个控件来显示连接的某种对象(盒子?)。像:

Event1  ---------------(occurs after)----------> Event 2           Event 3
   \                                                                 /
    \                                                               /
  (occurs 10 seconds after)                             (occurs 5 seconds after)       
     \                                                            /
     Event 2 --------------------(occurs after)--------------->Event 4
       \                                                        /
        \___________________            _______________________/
                            \          /
                              Event 5

所以我可以向这个控件添加对象,并告诉哪个对象应该连接到哪个对象并且应该在连接附近写入。此外,用户单击对象时应该有事件。

优选地,但不是必需的,用户应该能够在控件内部移动对象(将他们喜欢的位置定位)

我所需要的应该被称为“图形控制”而不是图形作为函数的可视化,而图形作为数学术语来自图形理论 - 一组连接它们的点和线。

如果重要的话,我正在使用VS 2010 Ultimate。

PS:我想我现在最终会使用GLEE。它的使用非常简单,我认为它可以让我做我需要的。如果你知道任何其他用途 - 请建议。但我没有找到任何像GLEE一样简单的东西,我现在看了很多。图#是伟大的,但它仅适用于WPF,我正在使用Forms ...

3 个答案:

答案 0 :(得分:1)

GoDiagram是一种商业产品 我有点测试它,并发现它非常好 http://www.nwoods.com/components/dotnet/godiagram-overview.htm

另见 Free or Open Source Diagramming Component for Winforms

答案 1 :(得分:0)

可能Devcomponents可以帮到你。 TreeGX符合您的要求吗?

同时检查此link

答案 2 :(得分:0)

如果您正在寻找功能更强大的(IMHO)控件,您可以查看专门针对Windows窗体的广告yFiles library。它提供了先进的自动布局算法和非常灵活的查看器和编辑器。

您正在寻找的是“层次布局”或“sugiyama布局”。该库实现了该算法:请参阅hierarchical layout的在线文档。如果您还没有这样做,可以先评估软件包,看看它能做些什么。

对于快速交互式演示,您可以查看在线演示,特别是BPMN demo,虽然这是一个Silverlight演示,但算法与WinForms库中的算法相同。