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