WinForms的免费或开源图表组件[关闭]
Posted
技术标签:
【中文标题】WinForms的免费或开源图表组件[关闭]【英文标题】:Free or Open Source Diagramming Component for WinForms [closed] 【发布时间】:2011-01-01 14:15:05 【问题描述】:我需要能够以编程方式生成依赖关系图。我希望它能够生成一堆带有标签和连接器的盒子,理想情况下,组件会自动将它们定位到设计表面上,然后可以手动重新排列。
我正在使用 WinForms 和 C# 2.0 (VS2005)。
编辑:但是,由于它将是一个内部工具,如果在该领域有任何建议,我可能可以使用 3.5 SP1 和 WPF。
必须是免费或开源的。
有什么建议吗?
【问题讨论】:
【参考方案1】:对于提问者来说为时已晚,但对研究人员来说可能很有趣:
NShape
NShape 是一个开源的.NET图表设计框架 赢表格。软件开发人员使用 NShape 集成图表 能力融入他们的应用程序。使用 NShape,应用程序让 用户查看、注释、修改和创建图表,如流程图, 接线方案或项目图表。 NShape 是开源的,具有双重功能 允许在开源中免费使用它的许可证 项目和商业项目的许可费。
【讨论】:
【参考方案2】:您是否尝试过 Sukram 的 CodeProject 系列文章:
WPF Diagram Designer
【讨论】:
WPF 不是 Windows 窗体 没错,但原发帖人说“如果在那个领域有任何建议,我可能可以使用 3.5 SP1 和 WPF。”【参考方案3】:这里有一些你可能会感兴趣的参考资料:
图表.NET
Diagram.NET 是免费的开源软件 完全用 C#。 将 Diagram.NET WinForm 控件放入您的表单中,就像 Microsoft Visio® 一样,用户可以绘制形状和链接。使用一些代码,您可以控制、更改、添加和删除这些元素。
Microsoft 图表控件
The samples environment for Microsoft Chart Controls for .NET Framework 包含超过 200 个样本 ASP.NET 和 Windows 窗体。这 样本涵盖了所有主要功能 .NET Framework 的图表控件。 它们使您能够查看图表 控制在行动以及使用 代码作为您自己网站的模板和 Windows 应用程序。
【讨论】:
【参考方案4】:您可能想看看GraphViz,它在 CPL 下分发(即免费)。它不完全适用于 .NET/WinForms,但无论如何都很有用。该库的主要目的是可视化图形(依赖关系图实际上是一个 [方向] 图)。您可以使用它来获取图像(图形布局)或点数组(您的项目的坐标)。
【讨论】:
有趣。我想我可以编写一些代码,将我自己的输入转换为 GraphViz 采用的任何格式并针对它运行它。值得研究 - 可能比重新发明***更好。 感谢您,尽管图表很大并且很难格式化以进行打印,但它运行良好。如果我可以进行一些手动调整会很好 - 你知道一种方法吗?我想知道如果我渲染为 SVG 可以导入到 Visio 中吗? 很遗憾,我没有尝试过任何这些(不需要),所以我无法在这里为您提供帮助。【参考方案5】:OpenDiagram
Open Diagram 是权威的开源 .net 图表 .Net framework winforms 环境的组件库。
使用 Open Diagram 将交互式数据可视化添加到您的 .net 应用程序。
我用 WinForms 试过了,效果很好。
【讨论】:
【参考方案6】:我和你有类似的要求。这是一种用于绘制图表的开源解决方案。它来自 Microsoft 和用 C# 编写的示例。
https://github.com/Microsoft/automatic-graph-layout
【讨论】:
【参考方案7】:这是从 GridWizard/Github 呈现为 HTML5(您可以轻松扩展到 Visio)的一个 源码: https://github.com/gridwizard/SimpleFlowDiagram Wordpress 文档: https://gridwizard.wordpress.com/2015/03/25/simple-c-library-to-render-graph-to-flowchart/
缺点是,您需要一个查看器来显示 html5。或者,SimpleFlowDiagramLib已经计算了 Node.x 和 Node.y - 您可以自己将其渲染到 Winform/WPF(但您需要自己编写代码渲染)
【讨论】:
【参考方案8】:为 NShape 投票。或多或少都很好。
【讨论】:
以上是关于WinForms的免费或开源图表组件[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
什么是最好的开源 Java 图表库? (除了jfreechart)[关闭]
带有 WinForms .NET 时间线的交互式图表 [关闭]