Добавил:
мой вк: vk.com/truecrimebitch больше работ здесь: https://github.com/alisadex Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа.docx
Скачиваний:
2
Добавлен:
11.05.2025
Размер:
1.55 Mб
Скачать

2.3.8. Модуль для отображения результатов проверки

Отображение результатов проверки осуществляется при нажатии на кнопку «Показать результаты». При активации кнопки программа проверяет содержимое текстового поля txtResults. Если поле пустое или содержит только пробелы, выводится сообщение «Нет результатов для отображения». В противном случае в окне сообщения отображаются сохраненные результаты проверок с заголовком «Результаты проверок». Для этого выполняется программный код, представленный в листинге 8.

Листинг 8 – Программный код модуля для отображения результатов проверки

private void btnShowResult_Click(object sender, EventArgs e)

{

string results = txtResults.Text;

if (string.IsNullOrWhiteSpace(results))

{

MessageBox.Show("Нет результатов для отображения.", "Результат", Mes - sageBoxButtons.OK, MessageBoxIcon.Information);

}

else

{

MessageBox.Show(results, "Результаты проверок", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

2.3.9. Модуль для завершения работы программы

Завершение работы программы осуществляется при нажатии на кнопку «Выход». При нажатии отображается диалоговое окно с запросом подтверждения действия: «Вы действительно хотите выйти?». Пользователю предлагаются варианты ответа «Да» и «Нет». В случае выбора варианта «Да» программа завершает свою работу, вызывая метод Application.Exit(). Если выбран вариант «Нет», приложение продолжает работу без изменений. Для этого выполняется программный код, представленный в листинге 9.

Листинг 9 – Программный код модуля для завершения работы программы

private void btnExit_Click(object sender, EventArgs e)

{

DialogResult result = MessageBox.Show("Вы действительно хотите выйти?", "Подтверждение выхода", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (result == DialogResult.Yes)

{

Application.Exit();

}

}

2.3.10. Модуль для добавления результатов

Добавление результатов выполняется с помощью метода AppendResult, который обновляет основное текстовое поле txtResults и, при необходимости, указанное целевое текстовое поле. Метод принимает строку с результатами и добавляет её в txtResults, разделяя записи двумя пустыми строками для улучшения читаемости.

Если в метод передан параметр targetTextBox, он обновляет это текстовое поле, выводя в нём результаты в формате с переносом строк, совместимым с окружающей средой (Windows). Такой подход позволяет централизованно сохранять все результаты проверок и одновременно отображать их в целевых поля. Для этого выполняется программный код, представленный в листинге 10.

Листинг 10 – Программный код модуля для добавления результатов

private void AppendResult(string result, TextBox targetTextBox = null)

{

txtResults.AppendText(result + Environment.NewLine + Environment.NewLine);

if (targetTextBox != null)

{

targetTextBox.Text = result.Replace("\n", Environment.NewLine);

}

}

2.3.11. Модуль для обработки исключений

Выполнение операций с обработкой возможных ошибок реализовано через универсальный метод ExecuteWithExceptionHandling. Метод принимает в качестве параметра функцию action, возвращающую строку, и выполняет её в блоке try-catch. В случае успешного выполнения возвращается результат вызванной функции action. Если при выполнении функции возникает исключение, метод перехватывает его и возвращает сообщение об ошибке в формате «Ошибка: [описание ошибки]». Для этого выполняется программный код, представленный в листинге 11.

Листинг 11 – Программный код модуля обработки исключений

private string ExecuteWithExceptionHandling(Func<string> action)

{

try

{

return action();

}

catch (Exception ex)

{

return $"Ошибка: {ex.Message}";

}

}