Exemplo n.º 1
0
 /// <summary>
 /// Метод для загрузки информации в граф
 /// </summary>
 /// <param name="graph">граф</param>
 /// <param name="picture">место, на котором происходит визуализация</param>
 /// <param name="name">имя графа</param>
 private void Input(EulerianGraph.Eurelian.Graph graph, PictureBox picture, string name)
 {
     picture.Hide();
     graph.ClearAllData();
     //Если нажата радиокнопка "ввести из файла"
     if (FromFile_radioButton.Checked)
     {
         //Если загрузка из файла прошла успешно и файл оказался FO массивом, выполнять все последующие операции
         if (graph.ReadFromFile())
         {
             //Проверка графа на эйлеровость
             graph.EulerianOrNot();
             //Отображение picterbox
             picture.Show();
             //Очистка полотна
             graph.G.clearSheet();
             //Визуализиация графа
             graph.Visualize();
             //Если граф эйлеров, отображение пути
             if (graph.IsEulerian)
             {
                 //Очистка полотна
                 graph.G.clearSheet();
                 //Рисование пути
                 graph.DrawWay();
             }
         }
     }
     //Если нажата радиокнопка "ввести вручную"
     else
     {
         //Создать форму для ввода с клавиатуры
         KeyboardInputForm form = new KeyboardInputForm(graph);
         form.groupBox1.Text += name;
         //Вывести форму для ввода с клавиатуры в модальном режиме
         form.ShowDialog();
         try
         {
             //Конвертация ФО в матрицу смежности
             graph.ConvertFOtoMatrix();
             //Проверка графа на эйлеровость
             graph.EulerianOrNot();
             //Отображение picterbox
             picture.Show();
             //Очистка полотна
             graph.G.clearSheet();
             //Визуализиация графа
             graph.Visualize();
             //Если граф эйлеров, отображение пути
             if (graph.IsEulerian)
             {
                 //Очистка полотна
                 graph.G.clearSheet();
                 //Рисование пути
                 graph.DrawWay();
             }
         }
         catch (Exception)
         {
             MessageBox.Show("Данные не введены или введены неверно", "Ошибка");
         }
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Кнопка для очистки данных о графе 2 и рисунка
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void CleanG2_button_Click(object sender, EventArgs e)
 {
     graph2.ClearAllData();
     pictureBox2.Image = graph2.G.GetBitmap();
 }