WinForms的免费或开源绘图组件

17

我需要能够以编程方式生成依赖关系图。我希望它能够生成一堆带标签的方框和连接器,并且理想情况下组件可以自动将它们定位到设计表面上,然后可以手动重新排列。

我正在使用WinForms和C#2.0(VS2005)。

编辑:然而,由于它将是一个内部工具,如果在这个领域有建议,我可能可以使用3.5 SP1和WPF。

必须是免费或开源。

有什么推荐吗?

8个回答

12

对于提问者来说已经太晚了,但对于研究人员可能很有趣:

NShape

NShape是一个针对.NET WinForms的开源图形设计框架。软件开发人员使用NShape将绘图功能集成到他们的应用程序中。利用NShape,应用程序可以让用户查看、注释、修改和创建诸如流程图、布线图或项目图表等图表。NShape是开源的,并具有双重许可证,允许在开源项目中免费使用,在商业项目中则需要支付许可费。


10

WPF不是Windows Form。 - user1785960
真的,但原帖作者说:“如果在那个领域有任何建议,我可能可以使用3.5 SP1和WPF。” - Aviad P.

6

以下是一些可能对您有用的参考资料:

Diagram.NET

Diagram.NET 是一个完全使用 C# 编写的免费开源绘图工具。 将 Diagram.NET WinForm 控件放入您的表单中,用户就可以像使用 Microsoft Visio® 一样绘制形状和链接。通过一些代码,您可以控制、更改、添加和删除这些元素。

Microsoft Chart Controls

Microsoft Chart Controls for .NET Framework 的示例环境 包含了超过 200 个示例,涵盖了 ASP.NET 和 Windows Forms。这些示例覆盖了 Chart Controls for .NET Framework 的所有主要功能。它们使您能够看到 Chart 控件的实际应用,并将代码用作自己的 Web 和 Windows 应用程序的模板。


4
你可能想要查看 GraphViz,它是以CPL(即免费)分发的。虽然它不完全适用于.NET/WinForms,但仍然可以很有用。该库的主要目的是可视化图形(依赖关系图实际上是一个[定向]图形)。你可以使用它来获取图像(图形布局)或点数组(项目的坐标)。

有趣。我想我可以编写一些代码,将我的输入转换为GraphViz所需的任何格式,并针对该格式运行它。值得探究-可能比重新发明轮子更好。 - Winston Smith
谢谢,这很有效,尽管图表很大,将很难为打印格式进行格式化。如果我能进行一些手动调整就好了 - 你知道有什么方法吗?我想知道如果我将其呈现为SVG,是否可以导入Visio? - Winston Smith
很遗憾,我没有尝试过这些(因为我不需要),所以无法在这里帮助您。 - AlexS

3

OpenDiagram

Open Diagram是.NET框架WinForms环境下的权威开源.NET图形组件库。

使用Open Diagram可以为您的.NET应用程序添加交互式数据可视化。

我已经在WinForms中尝试过它,效果非常好。


3

0

-2

为NShape投票。多或少都可以。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接