예제 #1
0
        }                // Выбрать режим "Удалить вершину и прилежащие рёбра"

        private void Clear_Graph1(object sender, EventArgs e)
        {
            GroupOfGraph1.Text = "";
            Graph1             = new Graph(ProgressEqual);
            Graph_Zone1.Refresh();
            array1.Text = "";
        }               // Очистка поля и памяти от текущего графа 1
예제 #2
0
        }                                    // Совершить действие относительно выбранного режима (Граф 1)

        private void Random_Graph1(object sender, EventArgs e)
        {
            GroupOfGraph1.Text = "";
            Graph1             = new Graph(ProgressEqual);
            Graph1.MakeRandomGraph((byte)numericrandom1.Value);
            array1.Text = Graph1.ToString(); // Вывести FO для графа 1 на экран
            Graph_Zone1.Refresh();
        }                                    // Случайная генерация графа 1
예제 #3
0
        }        // Событие "Paint" для графа 1

        private void DoAction1(object sender, MouseEventArgs e)
        {
            if (mode1 == 1 && Graph1.Tops.Count < 31)   // Установить вершину (до 30 штук)
            {
                if (Graph1.IsThereTop(e.X, e.Y) == -1)
                {
                    Graph1.AddTop(e.X, e.Y);           // Добавить новую вершину
                    Graph_Zone1.Refresh();
                }
            }
            else if (mode1 == 2 && Graph1.Ribs.Count < 46) // Установить ребро
            {
                if (!is_chosen_first_rib1)                 // Если не выбрано превой вершины
                {
                    int top_name = Graph1.IsThereTop(e.X, e.Y);
                    if (top_name != -1)
                    {
                        Graph1.AddFirstTopOfRib(top_name);
                        is_chosen_first_rib1 = true;
                    }
                }
                else
                {
                    int top_name = Graph1.IsThereTop(e.X, e.Y);
                    if (top_name != -1)
                    {
                        Graph1.AddSecondTopOfRib(top_name);
                        is_chosen_first_rib1 = false;
                    }
                }
                Graph_Zone1.Refresh();
            }
            else if (mode1 == 3)    // Удалить вершину и ближние рёбра
            {
                int top_name = Graph1.IsThereTop(e.X, e.Y);
                if (top_name != -1)
                {
                    Graph1.DeleteTop(top_name);
                }
                if (Graph1.Tops.Count == 0)
                {
                    array1.Text = "";
                }
                Graph_Zone1.Refresh();
            }
            array1.Text = Graph1.ToString(); // Вывести FO для графа 1 на экран
        }                                    // Совершить действие относительно выбранного режима (Граф 1)
예제 #4
0
        }                 // Сохранить граф 1

        private void LoadGraph1(object sender, EventArgs e)
        {
            OpenFile.FileName = "Graph1.json";
            if (OpenFile.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            Graph1 = LoadAll(OpenFile.FileName);
            if (Graph1 == null)
            {
                Graph1 = new Graph(ProgressEqual);
                return;
            }
            Graph_Zone1.Refresh();
            array1.Text           = Graph1.ToString();
            GroupOfGraph1.Text    = OpenFile.FileName;
            StatusSaveLoad.Text   = $"✔ Файл \"{OpenFile.FileName} \" загружен успешно";
            LoadInfoTimer.Enabled = true;
            Graph1.Progress_Bar   = ProgressEqual;
        }                 // Загрузить граф 1