Buat Flowchart di C# .NET

Flowcharts dibuat atau dirancang untuk mewakili alur kerja yang berbeda. Dalam situasi tertentu, Anda mungkin perlu membuat bagan alur untuk mengelola berbagai situasi. Artikel ini membahas cara membuat diagram flowchart secara terprogram dalam C#.

Instal C# API untuk Membuat Diagram Flowchart

Anda dapat membuat diagram alur dengan menggunakan API Aspose.Diagram for .NET. Ini mendukung pembuatan atau pengeditan file Visio dalam VSD, VSDX, dan format lain yang didukung. Anda dapat menginstal API dengan mudah dengan mengunduh file DLL dari bagian Rilis Baru, atau menggunakan Pengelola Paket NuGet dengan perintah penginstalan berikut:

PM> Install-Package Aspose.Diagram

Buat Flowchart Secara Programatik di C#

Anda dapat membuat diagram alur dari berbagai proses sesuai kebutuhan Anda. Silakan ikuti langkah-langkah di bawah ini untuk membuat diagram alur:

  1. Pertama, buat skema untuk membuat diagram.
  2. Muat master untuk menambahkan bentuk menggunakan kelas Diagram.
  3. Menambahkan bentuk dan konektor dari skema.
  4. Tetapkan tata letak untuk diagram diagram alur.
  5. Terakhir, tulis file keluaran dengan diagram alur dalam format VSDX menggunakan metode Save.

Cuplikan kode berikut menguraikan cara membuat diagram flowchart secara terprogram dalam C#:

class Program
{
    static void Main(string[] args)
    {
        // skema diagram yang akan dibuat
        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>();

        //Menambahkan bentuk dan konektor dari skema
        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; }
}

Unduh Contoh Proyek

Anda dapat mengunduh proyek sampel bersama dengan file input dan output.

Contoh Pratinjau Bagan Alir Keluaran

Buat Flowchart di C#

Dapatkan Lisensi API Gratis

Anda dapat mengevaluasi semua fitur API tanpa batasan apa pun dengan meminta lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat atau membuat flowchart secara terprogram menggunakan C#. Anda dapat mendesain berbagai bentuk seperti keputusan, proses, serta tata letak yang berbeda seperti kiri ke kanan atau kanan ke kiri, dll. Selain itu, Anda dapat mengunjungi API dokumentasi untuk mempelajari lebih lanjut fitur API. Silakan hubungi kami di forum.

Lihat juga