} // Выбрать режим "Удалить вершину и прилежащие рёбра" private void Clear_Graph2(object sender, EventArgs e) { GroupOfGraph2.Text = ""; Graph2 = new Graph(ProgressEqual); Graph_Zone2.Refresh(); array2.Text = ""; } // Очистка поля и памяти от текущего графа 2
} // Совершить действие относительно выбранного режима (Граф 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
} // Событие "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)
} // Сохранить граф 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