122
private void tsbtnDeleteQuestion_Click(object sender, EventArgs e)
{
if (_CurrentQuestion != null)
{
// Номер удаляемого вопроса
int n = _CurrentQuestion.Number;
// Подтверждение удаления пользователем
if (MessageBox.Show("Подтверждаете удаление этого вопроса?", "Удалить
вопрос ?",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==
DialogResult.Yes)
{
// Удаление вопроса
_Questions.Remove(_CurrentQuestion);
// Новое количество вопросов
int qc = _Questions.Count;
// Перенумеровка вопросов (чтобы были по порядку)
if (qc > 0)
for (int i = 0; i < qc; i++)
_Questions[i].ReAssignNumber(i + 1);
// Переход к следующему за удаленным вопросу (если есть)
if (n <= qc)
_CurrentQuestion = _Questions[n - 1];
// Переход к предыдущемы перед удаленным вопросу (если есть)
else if (n > 1)
_CurrentQuestion = _Questions[n - 2];
// Иначе - вопросов не осталось
else
_CurrentQuestion = null;
// Показать вопрос
ShowCurrentQuestion();
}
}
}
#endregion
/// -----------------------------------------------------
/// -----------------------------------------------------
/// ОБРАБОТКА КОМАНД ПОЛЬЗОВАТЕЛЯ : ОТВЕТЫ
/// -----------------------------------------------------
#region "CommandsAnswers"
/// <summary>
/// Добавить вариант ответа
/// </summary>
/// <param name="sender">Объект, вызвавший событие</param>
/// <param name="e">Параметры события</param>
private void tstrbtnAddAnswer_Click(object sender, EventArgs e)
{
// Количество вариантов ответа на текущий вопрос
int q_cnt = dgvData.Rows.Count;
// Создание нового варианта ответа
Entities.Answer na = new Entities.Answer(_test.ID, _CurrentQuestion.Number,
q_cnt + 1);
// Добавление варианта ответа в вопрос
_CurrentQuestion.Answers.Add(na);
// Добавление варианта ответа в таблицу
dgvData.Rows.Add(new object[] { tstrlblAnswerIcon.Image, na.Text, na.Score,
na.IsTrue });
}
/// <summary>
/// Удалить вариант ответа
/// </summary>
/// <param name="sender">Объект, вызвавший событие</param>