Vytvořte vývojový diagram v C# .NET

Vývojové diagramy jsou vytvořeny nebo navrženy tak, aby reprezentovaly různé pracovní postupy. V určitých situacích může být nutné vytvořit vývojové diagramy pro řízení různých situací. Tento článek popisuje, jak vytvořit vývojový diagram programově v C#.

Nainstalujte C# API a vytvořte vývojový diagram

Vývojové diagramy můžete vytvářet pomocí Aspose.Diagram for .NET API. Podporuje vytváření nebo úpravu souborů Visio ve formátech VSD, VSDX a dalších podporovaných formátech. Rozhraní API můžete snadno nainstalovat stažením souboru DLL ze sekce New Releases nebo pomocí Správce balíčků NuGet s následujícím instalačním příkazem:

PM> Install-Package Aspose.Diagram

Vytvořte vývojový diagram programově v C#

Můžete si vytvořit vývojový diagram různých procesů podle vašich požadavků. Při vytváření vývojových diagramů postupujte podle následujících kroků:

  1. Nejprve vytvořte schéma pro vytvoření diagramu.
  2. Načtěte předlohu pro přidávání tvarů pomocí třídy Diagram.
  3. Přidání tvarů a spojnic ze schématu.
  4. Nastavit rozložení pro vývojový diagram.
  5. Nakonec zapište výstupní soubor s vývojovým diagramem ve formátu VSDX pomocí metody Save.

Následující fragment kódu vysvětluje, jak programově vytvořit vývojový diagram v C#:

class Program
{
    static void Main(string[] args)
    {
        // schéma pro vytvoření diagramu
        Input diagramObject = new Input()
        {
            InputRectangles = new List<InputRectangle>() {
                    new InputRectangle() {
                        Name = "A",
                        Text = "Manager"
                    },
                    new InputRectangle() {
                        Name = "B",
                        Text = "Team Leader"
                    },
                    new InputRectangle() {
                        Name = "C",
                        Text = "Team Member"
                    },
                    new InputRectangle() {
                        Name = "D",
                        Text = "Team Member"
                    },
                    new InputRectangle() {
                        Name = "E",
                        Text = "Team Member"
                    }
                },
            InputConnectors = new List<InputConnector>() {
                    new InputConnector() {
                        OriginShapeName = "A",
                        DestinationShapeName = "B"
                    },
                    new InputConnector() {
                        OriginShapeName = "B",
                        DestinationShapeName = "C"
                    },
                    new InputConnector() {
                        OriginShapeName = "B",
                        DestinationShapeName = "D"
                    },
                    new InputConnector() {
                        OriginShapeName = "B",
                        DestinationShapeName = "E"
                    }
                }
        };

        Diagram diagram = new Diagram("BasicShapes.vss");
        Page page = diagram.Pages[0];

        Dictionary<string, long> shapeNames = new Dictionary<string, long>();

        //Přidání tvarů a spojnic ze schématu
        foreach (var rectangle in diagramObject.InputRectangles)
        {
            Shape shape = new Shape();
            var shapeId = diagram.AddShape(shape, @"Rectangle", 0);
            shapeNames.Add(rectangle.Name, shapeId);
            shape = page.Shapes.GetShape(shapeId);
            shape.Text.Value.Add(new Txt(rectangle.Text));
        }


        foreach (var connector in diagramObject.InputConnectors)
        {
            var connectorId = diagram.AddShape(new Shape(), "Dynamic connector", 0);
            page.ConnectShapesViaConnector(shapeNames[connector.OriginShapeName],
                                            ConnectionPointPlace.Right,
                                            shapeNames[connector.DestinationShapeName],
                                            ConnectionPointPlace.Left,
                                            connectorId);
        }


        LayoutOptions layoutOptions = new LayoutOptions()
        {
            LayoutStyle = LayoutStyle.FlowChart,
            Direction = LayoutDirection.LeftToRight,
            SpaceShapes = 5,
            EnlargePage = true
        };

        diagram.Layout(layoutOptions);

        page.PageSheet.PrintProps.PrintPageOrientation.Value = PrintPageOrientationValue.Landscape;

        DiagramSaveOptions saveOptions = new DiagramSaveOptions()
        {
            SaveFormat = SaveFileFormat.Vsdx,
            AutoFitPageToDrawingContent = true
        };

        diagram.Save("output.vsdx", saveOptions);
    }
}

public class Input
{
    public System.Collections.Generic.List<InputRectangle> InputRectangles { get; set; }
    public System.Collections.Generic.List<InputConnector> InputConnectors { get; set; }
}

public class InputRectangle
{
    public string Name { get; set; }
    public string Text { get; set; }
}

public class InputConnector
{
    public string OriginShapeName { get; set; }
    public string DestinationShapeName { get; set; }
}

Stáhněte si ukázkový projekt

Můžete si stáhnout ukázkový projekt spolu se vstupními a výstupními soubory.

Ukázkový náhled vývojového diagramu výstupu

Vytvořte vývojový diagram v C#

Získejte bezplatnou licenci API

Všechny funkce API můžete bez jakýchkoliv omezení hodnotit, když si vyžádáte bezplatnou dočasnou licenci.

Závěr

V tomto článku jste se naučili, jak vytvářet nebo vytvářet vývojové diagramy programově pomocí C#. Můžete navrhovat různé tvary, jako je rozhodnutí, proces, stejně jako různá rozvržení jako zleva doprava nebo zprava doleva atd. Kromě toho můžete navštívit API dokumentace, kde se dozvíte více funkcí API. Neváhejte nás kontaktovat na fóru.

Viz také