สร้าง Flowchart ใน C# .NET

Flowcharts ถูกสร้างขึ้นหรือออกแบบมาเพื่อแสดงถึงเวิร์กโฟลว์ต่างๆ ในบางสถานการณ์ คุณอาจต้องสร้างผังงานเพื่อจัดการสถานการณ์ต่างๆ บทความนี้ครอบคลุมวิธีการสร้างไดอะแกรมผังงานโดยทางโปรแกรมใน C#

ติดตั้ง C# API เพื่อสร้าง Flowchart Diagram

คุณสามารถสร้างไดอะแกรมผังงานได้โดยใช้ API Aspose.Diagram for .NET รองรับการสร้างหรือแก้ไขไฟล์ Visio ใน VSD, VSDX และ รูปแบบอื่นๆ ที่รองรับ คุณสามารถติดตั้ง API ได้ง่ายๆ โดยดาวน์โหลดไฟล์ DLL จากส่วน New Releases หรือใช้ NuGet Package Manager ด้วยคำสั่งการติดตั้งต่อไปนี้:

PM> Install-Package Aspose.Diagram

สร้าง Flowchart โดยทางโปรแกรมใน C#

คุณสามารถสร้างผังงานของกระบวนการต่างๆ ได้ตามความต้องการของคุณ โปรดทำตามขั้นตอนด้านล่างเพื่อสร้างผังงาน:

  1. ขั้นแรก สร้างสคีมาสำหรับสร้างไดอะแกรม
  2. โหลดต้นแบบสำหรับการเพิ่มรูปร่างโดยใช้คลาส Diagram
  3. การเพิ่มรูปร่างและตัวเชื่อมต่อจากสคีมา
  4. กำหนดเค้าโครงสำหรับไดอะแกรมผังงาน
  5. สุดท้าย เขียนไฟล์เอาต์พุตด้วยผังงานในรูปแบบ VSDX โดยใช้วิธี บันทึก

ข้อมูลโค้ดต่อไปนี้อธิบายวิธีการสร้างแผนผังลำดับงานโดยทางโปรแกรมใน C#:

class Program
{
    static void Main(string[] args)
    {
        // สคีมาสำหรับไดอะแกรมที่จะสร้าง
        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>();

        //การเพิ่มรูปร่างและตัวเชื่อมต่อจากสคีมา
        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; }
}

ดาวน์โหลดตัวอย่างโครงการ

คุณสามารถดาวน์โหลด sample project พร้อมกับไฟล์อินพุตและเอาต์พุต

ตัวอย่างผังงานแสดงตัวอย่าง

สร้าง Flowchart ใน C#

รับใบอนุญาต API ฟรี

คุณสามารถประเมินคุณลักษณะทั้งหมดของ API ได้โดยไม่มีข้อจำกัดใดๆ โดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างหรือสร้างผังงานโดยใช้โปรแกรมโดยใช้ C# คุณสามารถออกแบบรูปร่างต่างๆ ได้ เช่น การตัดสินใจ กระบวนการ ตลอดจนเค้าโครงต่างๆ เช่น ซ้ายไปขวาหรือขวาไปซ้าย เป็นต้น นอกจากนี้ คุณสามารถเยี่ยมชม API เอกสารประกอบ เพื่อเรียนรู้คุณลักษณะเพิ่มเติมของ API โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย