【问题标题】:How do I build a diagramming application in .NET?如何在 .NET 中构建图表应用程序?
【发布时间】:2009-06-11 05:41:42
【问题描述】:

我想编写一个 GUI 座位应用程序,允许用户绘制和注释简单的座位区“地图”。

最终结果可能看起来有点像 Visio,但专门用于操纵我的“座位”数据模型而不是生成文件。

在 Java 领域,有图形编辑框架 (GEF) -- 在 .NET 空间中是否有类似的东西?我应该只使用 System.Drawing.Drawing2D 基元并自己处理吗?

【问题讨论】:

    标签: c# .net user-interface drawing diagram


    【解决方案1】:

    这是来自Nevron 的产品。它是有偿的,但自己做这一切需要花费大量的时间和精力。

    Open DiagramEasyDiagram.net 可在Codeplex 获得。请务必下载并查看他们的代码。

    【讨论】:

      【解决方案2】:

      Netron Library 用于图表。它是开源的,使用 GDI+。

      【讨论】:

        【解决方案3】:

        查看NShape。它是一个用 C# 编写的开源图表框架,功能非常强大。它的控件是 WinForms 控件,但您也可以将其用于 WPF。

        【讨论】:

          【解决方案4】:

          您可以考虑使用 Visual Studio SDK 中的 DSL 工具包。它允许您通过首先创建域模型,然后创建允许用户创建或编辑该模型的实例的图形符号来创建图形 DSL 设计器。

          您很可能能够创建一个看起来像座位区的图形符号。这将允许您的用户不仅可以“绘制图表”,还可以生成一个文件,其中包含所绘制内容的填充域模型。

          【讨论】:

            【解决方案5】:

            查看我们的 MetaDraw 组件 - www.MetaDraw.com MetaDraw 旨在使这样的应用程序变得简单。 MetaDraw 将支持背景图像和注释层 您可以将用户置于多种编辑模式 - 线条、曲线、文本、形状等。 每个绘制的元素都是不同的 - 就像在 Visio 中一样,因此您可以允许用户选择对象并移动它们或调整它们的大小。每个对象都可以有多个隐藏标签(如座位号或数据库记录指针)。您可以识别用户选择了哪些对象(例如,当用户单击座位 22 时执行一些操作)。您可以通过代码动态修改属性 - 例如搜索座位 22 并更改其填充颜色。当然,您还可以滚动、缩放、打印、保存为各种格式等等。

            【讨论】:

              猜你喜欢
              • 2020-02-15
              • 1970-01-01
              • 1970-01-01
              • 2019-12-01
              • 1970-01-01
              • 2022-09-29
              • 2013-02-18
              • 2012-04-30
              • 1970-01-01
              相关资源
              最近更新 更多