2010-01-05 10 views
15

Ich muss in der Lage sein, Abhängigkeitsdiagramme programmgesteuert zu generieren. Ich möchte, dass es in der Lage ist, eine Reihe von Boxen mit Labels und Konnektoren zu erzeugen, die sie verbinden, und im Idealfall würde die Komponente sie automatisch auf einer Designoberfläche positionieren, die dann manuell neu angeordnet werden könnte.Freie oder Open Source Diagrammierungskomponente für WinForms

Ich verwende WinForms und C# 2.0 (VS2005).

EDIT: Da es jedoch ein internes Tool sein wird, kann ich wahrscheinlich 3.5 SP1 und WPF verwenden, wenn es irgendwelche Vorschläge in diesem Bereich gibt.

Muss frei oder Open Source sein.

Irgendwelche Empfehlungen?

Antwort

4

Sie vielleicht einen Blick auf GraphViz nehmen wollen, die unter CPL verteilt wird (das heißt kostenlos). Es ist nicht genau für .NET/WinForms, kann aber trotzdem nützlich sein. Der Hauptzweck der Bibliothek besteht darin, Graphen zu visualisieren (und das Abhängigkeitsdiagramm ist effektiv ein [direktionaler] Graph). Sie können damit entweder ein Bild (Diagrammlayout) oder ein Array von Punkten (Koordinaten für Ihre Objekte) erstellen.

+0

Interessant. Ich denke, ich könnte einen Code schreiben, der meine eigenen Eingaben in ein beliebiges Format umwandelt und GraphViz dagegen ausführt. Nachforschungen wert - vielleicht besser, als das Rad neu zu erfinden. –

+0

Danke dafür, es funktioniert gut, obwohl die Diagramme groß sind und schwer zum Drucken formatieren werden. Es wäre gut, wenn ich eine kleine manuelle Anpassung vornehmen könnte - weißt du einen Weg? Ich frage mich, ob ich als SVG in Visio importieren kann? –

+0

Leider habe ich nichts davon probiert (war nicht in Not) also kann ich dir hier nicht helfen. – AlexS

6

Hier einige Referenzen, die für Sie interessant sein könnte:

Diagrams.NET

Diagram.NET eine kostenlose Open-Source vollständig in C# diagramming Tools geschrieben ist. Setzen Sie Diagramm.NET WinForm Control in Ihr Formular und, wie Microsoft Visio®, kann der Benutzer Formen und Links zeichnen. Mit etwas Code können Sie diese Elemente steuern, ändern, hinzufügen und löschen.

Microsoft Chart Controls

The samples environment for Microsoft Chart Controls for .NET Framework enthält über 200 Proben für beide ASP.NET und Windows Forms . Die Beispiele umfassen alle wichtigen Features in Chart Controls für .NET Framework. Sie ermöglichen es Ihnen, die Chart Steuerelemente in Aktion zu sehen, sowie den Code als Vorlagen für Ihre eigenen Web-und Windows-Anwendungen.

8

Too für den Fragesteller spät, aber vielleicht interessant für die Forscher:

NShape

NShape ist ein Open-Source-Diagramm Entwerfen Rahmen für .NET WinForms. Softwareentwickler verwenden NShape, um Diagrammfunktionen in ihre Anwendungen zu integrieren.Mit NShape können Anwendungen Benutzer anzeigen, kommentieren, ändern und erstellen Diagramme wie Flussdiagramme, Verdrahtungspläne oder Projektdiagramme. NShape ist Open Source und verfügt über eine duale Lizenz , mit der es kostenlos in Open-Source-Projekten und für eine Lizenzgebühr in kommerziellen Projekten eingesetzt werden kann.

0

Hier ist eine, die zu HTML5 macht (Sie können auf Visio leicht erweitern) von GridWizard/Github Quellcode:https://github.com/gridwizard/SimpleFlowDiagram Wordpress doc:https://gridwizard.wordpress.com/2015/03/25/simple-c-library-to-render-graph-to-flowchart/

Nachteil ist, müssen Sie ein Viewer zum Anzeigen von HTML5. Alternativ SimpleFlowDiagramLib bereits berechnen Node.x und Node.y - Sie können es zu Winform/WPF machen können, sich (aber dann müssen Sie Code selbst Rendering)

2

OpenDiagram

Open Diagram das ist Definitive Open Source. NET-Diagramm Komponentenbibliothek für das .Net-Framework winforms-Umgebung.

Verwenden Sie Open Diagram, um interaktive Datenvisualisierungen zu Ihren .net Anwendungen hinzuzufügen.

Ich habe es mit WinForms versucht, funktioniert sehr gut.