צור תרשים זרימה ב-C# .NET

תרשימי זרימה נוצרים או מתוכננים כדי לייצג זרימות עבודה שונות. במצבים מסוימים, ייתכן שיהיה עליך ליצור תרשימי זרימה כדי לנהל מצבים שונים. מאמר זה מכסה כיצד ליצור תרשים זרימה באופן תכנותי ב-C#.

התקן C# API כדי ליצור תרשים זרימה

אתה יכול ליצור דיאגרמות תרשים זרימה באמצעות Aspose.Diagram for .NET API. הוא תומך ביצירה או עריכה של קבצי Visio ב-VSD, VSDX ו[פורמטים נתמכים אחרים]. אתה יכול בקלות להתקין את ה-API על ידי הורדת קובץ ה-DLL מהקטע מהדורות חדשות או שימוש במנהל החבילות NuGet עם פקודת ההתקנה הבאה:

PM> Install-Package Aspose.Diagram

צור תרשים זרימה באופן פרוגרמטי ב-C#

אתה יכול ליצור תרשים זרימה של תהליכים שונים לפי הדרישות שלך. אנא בצע את השלבים הבאים ליצירת תרשימי זרימה:

  1. ראשית, צור את הסכימה ליצירת הדיאגרמה.
  2. טען את המאסטר להוספת צורות באמצעות המחלקה Diagram.
  3. הוספת צורות ומחברים מהסכמה.
  4. הגדר פריסה עבור תרשים הזרימה.
  5. לבסוף, כתוב את קובץ הפלט עם תרשים זרימה בפורמט VSDX בשיטת Save.

קטע הקוד הבא מפרט כיצד ליצור תרשים זרימה באופן תכנותי ב-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; }
}

הורד פרויקט לדוגמה

אתה יכול להוריד את פרויקט לדוגמה יחד עם קבצי הקלט והפלט.

תצוגה מקדימה של תרשים זרימה של פלט

צור תרשים זרימה ב-C#

קבל רישיון API בחינם

אתה יכול להעריך את כל התכונות של ה-API ללא כל הגבלה על ידי בקשת [רישיון זמני חינם].

סיכום

במאמר זה, למדת כיצד ליצור או ליצור תרשימי זרימה באופן תכנותי באמצעות C#. אתה יכול לעצב צורות שונות כמו ההחלטה, התהליך, כמו גם פריסות שונות כמו שמאל לימין או ימין לשמאל וכו’. יתר על כן, אתה יכול לבקר ב-API תיעוד כדי ללמוד עוד תכונות של ה-API. אנא אל תהסס לפנות אלינו בפורום.

ראה גם