Exemplo n.º 1
0
        }               // Выбрать режим "Удалить вершину и прилежащие рёбра"

        private void Clear_Graph2(object sender, EventArgs e)
        {
            GroupOfGraph2.Text = "";
            Graph2             = new Graph(ProgressEqual);
            Graph_Zone2.Refresh();
            array2.Text = "";
        }              // Очистка поля и памяти от текущего графа 2
Exemplo n.º 2
0
        }                                    // Совершить действие относительно выбранного режима (Граф 2)

        private void Random_Graph2(object sender, EventArgs e)
        {
            GroupOfGraph2.Text = "";
            Graph2             = new Graph(ProgressEqual);
            Graph2.MakeRandomGraph((byte)numericrandom2.Value);
            array2.Text = Graph2.ToString(); // Вывести FO для графа 2 на экран
            Graph_Zone2.Refresh();
        }                                    // Случайная генерация графа 2
Exemplo n.º 3
0
        }       // Событие "Paint" для графа 2

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

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